Linux implements the strict POSIX requirements, as far as I know. There
isn't anything we can do to change this without breaking standards
compliance.
In order to get around getting killed by the user that started the binary,
a setuid binary needs to do something like
setuid(0);
in case it is root suid, and if it is not root suid then it can do
something like
uid = getuid();
setresuid(uid,uid,uid);
or similar (don't take my word for this, there are probably better ways to
do this, and the above might be broken - check with somebody else to make
sure).
Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu