Oohara Yuuma <[EMAIL PROTECTED]> writes: >> fakeroot (or any other dynamic linker tricks) will not work on set[ug]id >> programs. libc can be trusted here. > > Is this Linux specific? (There can be a Hurd port in the sarge > release).
Of course the same protection is present in GNU/Hurd. Btw: this problem (`how to find out your id[s]') is even trickier in GNU/Hurd. Let's have a look at how fakeroot is implemented in GNU/Hurd. Instead of using a libfakeroot trick, we simply use our own features for that, which can do much better. Authentication in the Hurd is based on the `auth' server. Now, in the Hurd it is possible to use other auth servers than the default system server. Glibc functions working with IDs in fact communicate with the auth server. If you use your own auth server, then getuid() returns whatever that auth server tells you (of course, faking your auth server does not raise your permissions in the system at all, since that auth server is private to you). Now, back to fakeroot. Fakeroot in GNU/Hurd consists of: * a command line program (fakeauth), which creates a new auth server and runs a program with the auth server changed accordingly. This makes getuid() and friends behave like if the program would run as root; * a filesystem server, which is used for faking filesystem accesses - this makes chmod/chown work accordingly. moritz -- [EMAIL PROTECTED] - http://duesseldorf.ccc.de/~moritz/ GPG fingerprint = 3A14 3923 15BE FD57 FC06 B501 0841 2D7B 6F98 4199 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]