fuchsfuchsfuchs hat geschrieben:
Rechte ist auch falsch, root ist ein Nutzer, mit Rootrechten spricht man von den Rechten, die dieser Nutzer hat.
Nur noch ein paar Pfennige zur Terminologie:
Ich würde auch das Wort "Rootrechte" meiden, denn es suggeriert, dass nur Root auf einem Linux-System administrative Rechte haben könnte. Das stimmt allerdings keinesfalls. Der Linux-Kernel unterscheidet nicht zwischen "root" und "nicht-root", sondern gibt jedem Nutzer und jedem Prozess bestimmte Privilegien. Root ist nur insofern besonders, als das die UID 0 standardmäßig alle Privilegien hat. SELinux setzt genau hier an und entzieht sogar der UID 0 (root) bestimmte Privilegien, um Systemdienste, die mit UID 0 gestartet wurden, sicherer zu machen.
Diese Privilegien gibt es schon seit POSIX, sie sind also weitaus älter als Linux, welches diese Privilegien iirc seit Kernel 2.2 unterstützt. Seit 2.6.24 können diese Privilegien auch Dateien zugewiesen werden:
[lunar@nargond on pts/0] - [02. Juli 2008, 18:04:26] >> /usr/local/bin
--> cat script.sh
#!/bin/sh
echo $USER
cat < /etc/shadow
[lunar@nargond on pts/0] - [02. Juli 2008, 18:04:30] >> /usr/local/bin
--> ll script.sh
-rwxr-xr-x 1 root root 39 2. Jul 18:04 script.sh
[lunar@nargond on pts/0] - [02. Juli 2008, 18:04:35] >> /usr/local/bin
--> ./script.sh
lunar
./script.sh: 3: cannot open /etc/shadow: Permission denied
[lunar@nargond on pts/0] - [02. Juli 2008, 18:04:41] >> /usr/local/bin
--> sudo setcap cap_dac_override=ep script.sh
[lunar@nargond on pts/0] - [02. Juli 2008, 18:04:46] >> /usr/local/bin
--> ./script.sh
lunar
root:!:13621:0:::::
halt:*:9797:0:::::
operator:*:9797:0:::::
[...]
Man sieht: Obwohl der Nutzer nicht Root ist, besitzt er bei der Ausführung von "script.sh" trotzdem das Privileg, die Zugriffsrechte zu umgehen, und /etc/shadow auszulesen. Insofern würde ich persönlich nicht von "Root-Rechten", sondern von "Privilegien" sprechen.