Kann man vielleicht hier erkennen, dass u.a. die effektive UserID nicht durchgereicht wird, wenn's interpretiert wird:
Code: Alles auswählen
$ export user=$USER
$ su
Password:
# printf "ps --headers -o euid,ruid,suid,fuid,ouid,cmd -C ps" > ps && chmod +x ps
# su $user -c ./ps
EUID RUID SUID FUID OWNER CMD
1000 1000 1000 1000 - ps --headers -o euid,ruid,suid,fuid,ouid,cmd -C ps
#
# chmod u+s ps
# su $user -c ./ps
EUID RUID SUID FUID OWNER CMD
1000 1000 1000 1000 - ps --headers -o euid,ruid,suid,fuid,ouid,cmd -C ps
#
# rm ps
# cp -a `which ps` .
# su $user -c "./ps --headers -o euid,ruid,suid,fuid,ouid,cmd -C ps"
EUID RUID SUID FUID OWNER CMD
1000 1000 1000 1000 - ./ps --headers -o euid,ruid,suid,fuid,ouid,cmd -C ps
#
# chmod u+s ps
# su $user -c "./ps --headers -o euid,ruid,suid,fuid,ouid,cmd -C ps"
EUID RUID SUID FUID OWNER CMD
0 1000 0 0 - ./ps --headers -o euid,ruid,suid,fuid,ouid,cmd -C ps
#
# rm ps
EDIT: C&P-Fehler behoben.