Ping muss ICMP-Pakete generieren und empfangen, und das geschieht normalerweise mit "Raw Sockets" - einer Funktion, die auf root beschränkt ist (cap_net_raw), da sie auch dazu missbraucht werden könnte, anderen Datenverkehr auf dem System auszulesen und zu stören.
Viele Distributionen geben jetzt nur noch das cap_net_raw- Privileg (siehe capabilities(7)
und getcap(8)
Handbuchseiten) anstelle des vollen Setuid- Roots an . Dies erfordert jedoch sowohl den Kernel als auch das Dateisystem, um erweiterte Attribute (xattrs) zu unterstützen, und einige "minimale" Systeme deaktivieren diese.
Außerdem wurde kürzlich ein spezieller "ICMP" -Sockeltyp hinzugefügt, der das Senden von ICMP-Echo-Nachrichten ohne zusätzliche Berechtigungen ermöglicht. Der Ping-Befehl wurde jedoch noch nicht aktualisiert.