Linux emulation

Matthew Dillon dillon at apollo.backplane.com
Fri Aug 8 13:55:09 PDT 2003


    Ok, I can reproduce this fairly easily.  I will have a go at tracking
    the problem down.

					-Matt
					Matthew Dillon 
					<dillon at xxxxxxxxxxxxx>
:
:-On [20030806 23:32], Matthew Dillon (dillon at xxxxxxxxxxxxxxxxxxxx) wrote:
:>    Try ktrace'ing etc.. running 'man' as root.  I am not sure but I think
:>    ktrace will work on an suid program run as root.
:
:Yeah, but it would negate any issues a normal user has due to elevated
:privileges.
:
:>    If that fails then give the 'man' user a shell, su - man, chmod the 
:>    binary so it is no longer suid, and ktrace it from the man account that
:>    way.  (and be sure to cleanup the above mess after you track the problem
:>    down :-)
:
:OK, thanks, that at least drove me closer to finding some stuff out:
:
:doing manual pages as user man just works as expected.
:Doing manual pages as root already makes a mistake, the resulting .1.gz
:file, for example, gets chowned to root.  On a FreeBSD-STABLE box it's
:chowned to user man.
:
:Mmm, found out more.
:
:My primary user is a member of group wheel and gets the warning.  My
:other user, not a member of wheel couldn't even write the temporary file
:to cat1/.  (I created the other user to test something as I was writing
:this email.)
:
:But as I was writing and checking the information all of a sudden my
:primary user started to also refuse to write to the specified directory.
:
:man -d was giving:
:
:will try to write /usr/share/man/cat1/ls.1.gz if needed
:status from is_newer() = -2
:using default preprocessor sequence
:found tbl(1) directive
:Couldn't open /usr/share/man/cat1/ls.1.gz.tmpw5ghxj for writing.
:using default preprocessor sequence
:found tbl(1) directive
:Couldn't open /usr/share/man/cat1/ls.1.gz.tmpb1NDwX for writing.
:using default preprocessor sequence
:found tbl(1) directive
:
:I just rebuild man and reinstalled it, after having removed my test
:user, and 'lo and behold:
:
:[8:32] [asmodai at purgatory] (25) {1} $ man ls
:Formatting page, please wait...
:Hmm!  Can't seem to rename /usr/share/man/cat1/ls.1.gz.tmpyocpiN to
:/usr/share/man/cat1/ls.1.gz, check permissions on man dir!
:rename: Permission denied
:
:It's back.
:
:Readding the test user, running a man of a command and it also gets the
:permissions warning this time.  And indeed, man -d shows:
:
:will try to write /usr/share/man/cat1/ls.1.gz if needed
:status from is_newer() = -2
:using default preprocessor sequence
:found tbl(1) directive
:mode of /usr/share/man/cat1/ls.1.gz.tmpGSD9F1 is now 644
:Formatting page, please wait...
:trying command: (cd /usr/share/man ; /usr/bin/zcat
:/usr/share/man/man1/ls.1.gz | /usr/bin/tbl | /usr/bin/groff -S -Wall
:-mtty-char -man -Tascii | /usr/bin/col | /usr/bin/gzip -c)
:No output, debug mode.
:using default preprocessor sequence
:found tbl(1) directive
:Couldn't open /usr/share/man/cat1/ls.1.gz.tmpWlbRcX for writing.
:using default preprocessor sequence
:found tbl(1) directive
:
:Only one writing warning.
:
:I have no idea what is causing this.  I'd be inclined to say there's
:something wrong in the kernel, but that wouldn't explain the behaviour
:when I put the binary on the FreeBSD box.
:
:-- 
:Jeroen Ruigrok van der Werven <asmodai(at)wxs.nl> / asmodai
:PGP fingerprint: 2D92 980E 45FE 2C28 9DB7  9D88 97E6 839B 2EAC 625B
:http://www.tendra.org/   | http://www.in-nomine.org/~asmodai/diary/
:The human race is challenged more than ever before to demonstrate our
:mastery -- not over nature but of ourselves...
:





More information about the Kernel mailing list