Dies ist eine alte Version des Dokuments!
Statt einem Programm über das SETUID-Bit alle Systemrechte zu geben, ist es sinnvoller, nur die Fähigkeiten (capabilities) zu geben, die das Programm zur Erfüllung seines Zwecks benötigt. Das setzt allerdings die Unterstützung des Kernels voraus, welches bestimmte Capabilities bereitstellt, die dann den Programmen gegeben werden können.
Mittels man capabilities
kann man die vom verwendeten Kernel angebotenen Capabilities auflisten.
chmod u-s /bin/ping setcap cap_net_raw+p /bin/ping getcap /bin/ping
Unter Debian nicht update-fest:
Unter OpenSuSE nicht update-fest:
capsh
startet eine neue Shell mit veränderten Capabilities.
capsh --drop=cap_chown -- chown kurt /etc/passwd
Pakete: libcap-ng-utils
pscap