GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was ist SUID, SGID und Sticky Bit?

Es gibt 3 spezielle Berechtigungen, die für ausführbare Dateien und Verzeichnisse verfügbar sind. Diese sind:

1. SUID-Erlaubnis
2. SGID-Berechtigung
3. Klebriges Bit

Benutzerkennung (SUID) festlegen

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

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

– Wenn Sie genau prüfen, würden Sie die 2 S im Erlaubnisfeld finden. Das erste s steht für die SUID und das zweite für SGID.
– Wenn ein Befehl oder Skript mit gesetztem SUID-Bit ausgeführt wird, wird seine effektive UID die des Eigentümers der Datei und nicht die des Benutzers who läuft.
– Ein weiteres gutes Beispiel für SUID ist der Befehl su :

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

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

Wie setze ich SUID für eine Datei?

# chmod 4555 [path_to_file]
Hinweis:
Wenn ein großes „S“ im Ausführungsfeld des Eigentümers erscheint, zeigt dies an, dass das setuid-Bit eingeschaltet ist und das Ausführungsbit „x“ für den Eigentümer der Datei ausgeschaltet oder verweigert ist.

Set-Gruppen-Identifikation (SGID)

SGID-Berechtigung für ausführbare Datei

– Die SGID-Berechtigung ist der SUID-Berechtigung ähnlich, der einzige Unterschied ist – wenn das Skript oder der Befehl mit aktivierter SGID ausgeführt wird, wird es ausgeführt, als wäre es ein Mitglied derselben Gruppe, 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 im Ausführungsfeld der Gruppe als „s“ angezeigt.

Hinweis :
– Wenn ein Kleinbuchstabe „l“ im Ausführungsfeld der Gruppe erscheint, zeigt dies an, dass das Setgid-Bit eingeschaltet ist und das Ausführungsbit für die Gruppe ausgeschaltet oder verweigert ist.

Wie setze ich die GUID für eine Datei?

# chmod 2555 [path_to_file]

SGID in einem Verzeichnis

– Wenn die SGID-Berechtigung für ein Verzeichnis festgelegt ist, gehören die im Verzeichnis erstellten Dateien zu der Gruppe, zu der das Verzeichnis gehört.
– Wenn beispielsweise ein Benutzer mit Schreibberechtigung für das Verzeichnis dort eine Datei erstellt, wird diese Datei ist Mitglied derselben Gruppe wie das Verzeichnis und nicht der Gruppe des Benutzers.
– Dies ist sehr nützlich beim Erstellen gemeinsam genutzter Verzeichnisse.

So legen Sie SGID für ein Verzeichnis fest

# chmod g+s [path_to_directory]

Sticky-Bit

– Das Sticky-Bit wird hauptsächlich für freigegebene Verzeichnisse verwendet.
– Es ist nützlich für freigegebene Verzeichnisse wie /var/tmp und /tmp weil Benutzer Dateien erstellen, lesen und ausführen können, die anderen Benutzern gehören, aber keine Dateien entfernen dürfen, die anderen Benutzern gehören.
– Zum Beispiel, wenn Benutzer Bob eine Datei namens /tmp/bob erstellt, kann andere Benutzer Tom diese Datei nicht löschen, selbst wenn das /tmp-Verzeichnis die Berechtigung 777 hat. Wenn das Sticky-Bit nicht gesetzt ist, kann Tom /tmp/bob löschen, da die /tmp/bob-Datei die Berechtigungen des übergeordneten Verzeichnisses erbt.
– Root-Benutzer (Natürlich!) und Eigentümer der Dateien können ihre eigenen Dateien entfernen.

Beispiel für Sticky Bit:

# ls -ld /var/tmp
drwxrwxrwt  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 setze ich die Sticky-Bit-Berechtigung?

# chmod +t [path_to_directory]
or 
# chmod 1777 [path_to_directory]


Linux
  1. Linux-Berechtigungen:SUID, SGID und Sticky Bit

  2. Was ist Sticky Bit, SUID und SGID unter Linux?

  3. Was ist NFS und wie wird es unter Linux installiert?

  4. UNIX / Linux:So verwenden Sie Sticky Bit für Verzeichnis und Datei

  5. Linux-Interviewfragen – Sonderberechtigungen (SUID, SGID und Sticky Bit)

Linux-Dateibefehl:Was macht er und wie wird er verwendet?

Was ist EFS (Elastic File System) in AWS und wie wird es verwendet?

Linux-Dateiberechtigungen und Eigentumsrechte mit Beispielen erklärt

Spezielle Dateiberechtigungen unter Linux:SUID, GUID und Sticky Bit

Ein Windows-Typ in einer Linux-Welt:Benutzer- und Dateiberechtigungen

Was ist eine .sh-Datei?