Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung Nächste Überarbeitung Beide Seiten, nächste Überarbeitung | ||
admin_grundlagen:capabilities [2020/12/04 14:56] holger_jakobs [ping mit capability statt suid-Bit] |
admin_grundlagen:capabilities [2021/02/23 12:52] holger_jakobs [Welcher Prozess hat welche Capabilities?] |
||
---|---|---|---|
Zeile 2: | Zeile 2: | ||
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. | 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 | chmod u-s /bin/ping | ||
Zeile 15: | Zeile 17: | ||
* [[https://features.opensuse.org/307254|Opensuse Bug 307254]] | * [[https://features.opensuse.org/307254|Opensuse Bug 307254]] | ||
====== einer (root) shell eine Capability entziehen ====== | ====== einer (root) shell eine Capability entziehen ====== | ||
+ | ''capsh'' startet eine neue Shell mit veränderten Capabilities. | ||
+ | |||
capsh --drop=cap_chown -- | capsh --drop=cap_chown -- | ||
chown kurt /etc/passwd | chown kurt /etc/passwd | ||
====== Welcher Prozess hat welche Capabilities? ====== | ====== Welcher Prozess hat welche Capabilities? ====== | ||
- | Pakete: libcap-ng-utils (Debian, Ubuntu) | + | Pakete: libcap-ng-utils |
pscap | pscap | ||