Ping est un programme appartenant à root avec le bit d'ID utilisateur défini.
$ ls -l `which ping`
-rwsr-xr-x 1 root root 35752 Nov 4 2011 /bin/ping
Si je comprends bien, si un utilisateur exécute le processus ping, l'ID utilisateur effectif passera de l'ID utilisateur réel (c'est-à-dire l'ID utilisateur de la personne qui a lancé le processus) à la racine de l'ID utilisateur. Cependant, lorsque j'essaie ceci et regarde la sortie de ps pour voir si le processus ping s'exécute en tant qu'utilisateur root, j'obtiens toujours l'ID utilisateur réel.
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
Réponses:
ping
a besoin de root pour pouvoir ouvrir un socket en mode brut. C'est littéralement la première chose qu'il fait au démarrage:C'est la seule chose pour laquelle il a besoin de root, donc comme de nombreux programmes, il ramène immédiatement son niveau de privilège à votre compte d'utilisateur normal:
la source