Es gibt 3 spezielle Berechtigungen, die für ausführbare Dateien und Verzeichnisse zur Verfügung stehen. Diese sind :

1. SUID-Berechtigung
2. SGID-Berechtigung
3. Sticky bit

Set-user Identification (SUID)

Haben Sie schon einmal darüber nachgedacht, wie ein Nicht-Root-Benutzer sein eigenes Passwort ändern kann, wenn er keine Schreibberechtigung für die Datei /etc/shadow hat. hmmm… interessant, oder? Nun, um den Trick zu verstehen, überprüfen Sie die Berechtigung des Befehls /usr/bin/passwd :

# ls -lrt /usr/bin/passwd-r-sr-sr-x 1 root sys 31396 Jan 20 2014 /usr/bin/passwd

– Wenn Sie genau hinschauen, werden Sie die 2 S im Berechtigungsfeld finden. Das erste S steht für die SUID und das zweite für die SGID.
– Wenn ein Befehl oder ein Skript mit gesetztem SUID-Bit ausgeführt wird, wird seine effektive UID die des Besitzers der Datei und nicht die des Benutzers, der es ausführt.
– Ein weiteres gutes Beispiel für SUID ist der su-Befehl :

# ls -l /bin/su -rwsr-xr-x-x 1 root user 16384 Jan 12 2014 /bin/su

– Die setuid-Berechtigung wird als „s“ im Ausführungsfeld des Eigentümers angezeigt.

Wie setzt man SUID auf eine Datei?

# chmod 4555 

Hinweis:
Wenn ein großes „S“ im Ausführungsfeld des Eigentümers erscheint, bedeutet dies, dass das Setuid-Bit aktiviert ist und das Ausführungsbit „x“ für den Eigentümer der Datei deaktiviert oder verweigert ist.

Set-group identification (SGID)

SGID-Berechtigung für ausführbare Datei

– Die SGID-Berechtigung ähnelt der SUID-Berechtigung, der einzige Unterschied ist, dass das Skript oder der Befehl mit eingeschalteter SGID so ausgeführt wird, als ob es/er Mitglied der gleichen Gruppe wäre, in der die Datei Mitglied ist.

# ls -l /usr/bin/write-r-xr-sr-x 1 root tty 11484 Jan 15 17:55 /usr/bin/write

– Die setgid-Berechtigung wird als „s“ im Ausführungsfeld der Gruppe angezeigt.

Hinweis :
– Wenn ein Kleinbuchstabe „l“ im Execute-Feld der Gruppe erscheint, zeigt dies an, dass das setgid-Bit aktiviert ist und das Execute-Bit für die Gruppe deaktiviert oder verweigert ist.

Wie wird die GUID für eine Datei festgelegt?

# chmod 2555 

SGID für ein Verzeichnis

– Wenn die SGID-Berechtigung für ein Verzeichnis gesetzt ist, gehören Dateien, die in dem Verzeichnis erstellt werden, zu der Gruppe, zu der das Verzeichnis gehört.
– Wenn zum Beispiel ein Benutzer mit Schreibberechtigung in dem Verzeichnis eine Datei erstellt, gehört diese Datei zu der gleichen Gruppe wie das Verzeichnis und nicht zu der Gruppe des Benutzers.
– Dies ist sehr nützlich bei der Erstellung von gemeinsam genutzten Verzeichnissen.

Wie man die SGID eines Verzeichnisses setzt

# chmod g+s 

Sticky Bit

– Das Sticky Bit wird hauptsächlich bei gemeinsam genutzten Verzeichnissen verwendet.
– Es ist nützlich für gemeinsam genutzte Verzeichnisse wie /var/tmp und /tmp, weil Benutzer Dateien erstellen, lesen und ausführen können, die anderen Benutzern gehören, aber nicht berechtigt sind, Dateien zu löschen, die anderen Benutzern gehören.
– Wenn zum Beispiel der Benutzer bob eine Datei mit dem Namen /tmp/bob erstellt, kann der andere Benutzer tom diese Datei nicht löschen, selbst wenn das Verzeichnis /tmp die Berechtigung 777 hat. Wenn das Sticky-Bit nicht gesetzt ist, kann tom /tmp/bob löschen, da die Datei /tmp/bob die Rechte des übergeordneten Verzeichnisses erbt.
– Der Benutzer root (natürlich!) und der Besitzer der Dateien können ihre eigenen Dateien löschen.

Beispiel für Sticky Bit :

# ls -ld /var/tmpdrwxrwxrwt 2 sys sys 512 Jan 26 11:02 /var/tmp

- T refers to when the execute permissions are off.- t refers to when the execute permissions are on.

Wie setzt man die Sticky Bit Berechtigung?

# chmod +t or # chmod 1777 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.