Ping ist ein Programm von root, dessen Benutzer-ID-Bit gesetzt ist.
$ ls -l `which ping`
-rwsr-xr-x 1 root root 35752 Nov 4 2011 /bin/ping
Soweit ich weiß, ändert sich die effektive Benutzer-ID von der tatsächlichen Benutzer-ID (dh der Benutzer-ID der Person, die den Prozess gestartet hat) in die Benutzer-ID root, wenn ein Benutzer den Ping-Prozess ausführt. Wenn ich dies jedoch versuche und mir die Ausgabe von ps ansehe, um festzustellen, ob der Ping-Prozess als Root-Benutzer ausgeführt wird, wird immer noch die tatsächliche Benutzer-ID angezeigt.
ps -e -o user,ruser,euser,cmd,args | grep ping
sashan sashan sashan ping -i 10 -c 1000 www.goog ping -i 10 -c 1000 www.google.com
Antworten:
ping
benötigt root, damit es einen Socket im Raw-Modus öffnen kann. Das ist buchstäblich das Erste, was es macht, wenn es startet:Das ist das einzige, wofür es root braucht. Wie bei vielen Programmen wird die Berechtigungsstufe sofort auf Ihr normales Benutzerkonto zurückgesetzt:
quelle