[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

our broken man package

I'm concerned with some breakage in the man program. Here is an example:

joey@gumdrop:~>chmod 700 .
joey@gumdrop:~>cp /usr/share/man/man1/ls.1.gz .
joey@gumdrop:~>man -l ./ls.1.gz    
man: can't chdir to /home/joey: Permission denied
man: ./ls.1.gz: Permission denied

Another example (only works as root):

root@gumdrop:~>cp /bin/more bin/mymore
root@gumdrop:~>PAGER=~/bin/mymore man man
sh: /root/bin/mymore: Permission denied
man: command exited with status 32256: /bin/gzip -dc
'/var/cache/man/cat1/man.1.gz' | { export MAN_PN LESS; MAN_PN='man(1)';
LESS="$LESS\$-Pm\:\$ix8mPm Manual page $MAN_PN ?ltline %lt?L/%L.:byte
%bB?s/%s..?e (END):?pB %pB\\%.."; /root/bin/mymore; }

This is because man runs via a wrapper that makes it run as user man
(and makes root's pager run as user man too for some reason).

Related bugs: #74790, #60084, #58112, #42128.

I have never seen an explination of why this wrapper program makes man
run as user man. If it just ran it as group man, everything would be ok.
As bug #42128 suggests, /var/catman/ could be writable by group man,
rather than user man.

(I'm also concerned with the huge number of open and very old bugs that
exist against man-db, and the fact that debian is using a different man
program than every other distribution, and one that seems inferior to
boot (see bug #25410).)

see shy jo

Reply to: