SetGID-Bit

SetGID-Bit

Setgid (Set Group ID, manchmal auch SGID) ist ein (erweitertes) Unix-Dateirecht für Dateien oder Verzeichnisse des Unix-Betriebssystems. Ausführbare Programme bei denen dieses Bit gesetzt ist, werden beim angemeldeten Benutzer mit den Rechten der Gruppe ausgeführt, der die Datei gehört, anstatt mit den Rechten derjenigen Gruppe, die die Datei ausführt.

Auf manchen Systemen bewirkt das Setgid-Bit bei einem Verzeichnis, dass darin neu angelegte Dateien oder Unterverzeichnisse der Gruppe angehören, der auch das Verzeichnis angehört (statt der Gruppe, zu der der erstellende Benutzer gehört).

Inhaltsverzeichnis

Setzen des SGID-Bits

Mit Filebrowsern kann das Bit per Klick gesetzt werden

Mit klassischen Unix-Kommandos wie chmod kann das Bit mit einem Aufruf wie

chmod g+s objekt

gesetzt werden, wobei objekt für mindestens eine Datei bzw. Verzeichnis steht.

Auch moderne grafische Dateibrowser bieten Möglichkeiten, das Bit graphisch per Checkbox zu aktivieren/deaktivieren.

Notation/Anzeige des Bits

In der erweiterten Oktalnotation, die sich vier Oktalziffern bedient, repräsentiert die Addition des Wertes 2 das gesetzte Setgid-Bit. Eine Datei mit den Rechten 0755 (in Oktalschreibweise) hat nach Setzen des Setgid-Bits die Rechte 2755. Diese Darstellung ist offensichtlich unabhängig davon, ob die Datei für die Gruppe ausführbar ist.

Die symbolische Rechtenotation hingegen unterscheidet zwischen gesetztem SGID-Bit, in dem an der Stelle, die die Gruppenausführbarkeit repräsentiert, statt x ein s und statt - ein S steht. So wird aus rwxr-xr-x nach Setzen des Setgid-Bits rwxr-sr-x, aus rw-r--r-- hingegen rw-r-Sr--.

Wirkung des gesetzten Bits auf Verzeichnisse

Da Verzeichnisse nicht im herkömmlichen Sinne ausgeführt (executed) werden können, hat das SGID-Bit hier eine besondere Bedeutung. Setzt man hier nämlich das SGID-Bit, werden die Gruppen in den Unterverzeichnissen vererbt.

Das SGID-Bit stellt in dieser Konfiguration kein Sicherheitsrisiko dar, solange es nicht auf Dateien angewendet wird. Dasselbe funktioniert auch mit dem SUID-Bit, nur wird hier der Besitzer vererbt.

Beispiel

# ls -l /data/fileshare
drwxrwx--- admin   abteilung1  1994-05-23 daten_abteilung1
drwxrwx--- admin   abteilung2  1994-05-23 daten_abteilung2
drwxrwx--- admin   abteilung3  1994-05-23 daten_abteilung3

Werden hier neue Dateien angelegt wird die primäre gruppe des gerade angemeldeten Benutzers als Gruppe für eine neue Datei gesetzt.

# ls -l /data/fileshare/daten_abteilung1
-rw-rw---- mueller   abteilung1  1994-05-23 datei1.txt
-rw-rw---- wieser    abteilung1  1994-05-23 datei2.txt
-rw-rw---- maier     abteilung1  1994-05-23 datei3.png

Ist Hr. Maier aber auch mitglied von abteilung2 , können daten die von Hr. Maier erstellt wurden nicht mehr von den Kollegen aus abteilung2 gelesen werden, da die primäre Gruppe auf abteilung1 gesetzt bleibt.

# ls -l /data/fileshare/daten_abteilung2
-rw-rw---- maier     abteilung1  1994-05-23 maiers_datei.txt
-rw-rw---- berger    abteilung2  1994-05-23 datei2.txt
-rw-rw---- berger    abteilung2  1994-05-23 datei3.txt

Wenn man aber das SGID-Bit auf die übergeordneten Verzeichnisse setzt wird die Gruppe vererbt und man kann ohne komplexe ACLs zu verwenden oder Berechtigungen für "jedermann" zu vergeben verschiedene Abteilungen auf einen Fileserver/Freigabe verwalten.

# find /data/fileshare/* -type d -exec chmod 2770 {} \;
(Dieses Kommando sucht nach allen Verzeichnissen und setzt das SGID-Bit)

Wird jetzt eine Datei von Hr. Maier in abteilung2 erstellt,

#maier$ touch /data/fileshare/daten_abteilung2/maiers_datei.txt

kann diese jetzt auch von den anderen Mitgliedern der abteilung2 bearbeitet werden.

# ls -l /data/fileshare
drwxrws--- admin   abteilung1  1994-05-23 daten_abteilung1
drwxrws--- admin   abteilung2  1994-05-23 daten_abteilung2
drwxrws--- admin   abteilung3  1994-05-23 daten_abteilung3
# ls -l /data/fileshare/daten_abteilung2 
-rw-rw---- maier     abteilung2  1994-05-23 maiers_datei.txt
-rw-rw---- berger    abteilung2  1994-05-23 datei2.txt
-rw-rw---- berger    abteilung2  1994-05-23 datei3.txt

Sicherheitsaspekt

Obwohl in vielen Situationen sehr nützlich, kann das Setgid-Bit (ähnlich dem Setuid-Bit) ein hohes Sicherheitsrisiko bedeuten, wenn Programme Setgid gesetzt werden, die unsicher programmiert sind.

Siehe auch


Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • SetGID — (Set Group ID, manchmal auch SGID) ist ein (erweitertes) Unix Dateirecht für Dateien oder Verzeichnisse des Unix Betriebssystems. Ausführbare Programme bei denen dieses Bit gesetzt ist, werden beim angemeldeten Benutzer mit den Rechten der Gruppe …   Deutsch Wikipedia

  • Setgid — (Set Group ID, manchmal auch SGID) ist ein (erweitertes) Unix Dateirecht für Dateien oder Verzeichnisse des Unix Betriebssystems. Ausführbare Programme bei denen dieses Bit gesetzt ist, werden beim angemeldeten Benutzer mit den Rechten der Gruppe …   Deutsch Wikipedia

  • Set-gid-bit — Setgid (Set Group ID, manchmal auch SGID) ist ein (erweitertes) Unix Dateirecht für Dateien oder Verzeichnisse des Unix Betriebssystems. Ausführbare Programme bei denen dieses Bit gesetzt ist, werden beim angemeldeten Benutzer mit den Rechten der …   Deutsch Wikipedia

  • X-Bit — Unter Unix Dateirechten versteht man bei Unix Derivaten wie Linux und Mac OS X eine der ersten Implementierung von Dateiberechtigungen, die es bereits in der ersten Version Anfang der 1970er Jahre des AT T Unix gab. Diese Dateirechte zeichnen… …   Deutsch Wikipedia

  • Sticky bit — Das Sticky Bit (auch t Bit oder Save Text Bit) ist ein erweitertes Dateirecht, d. h. ein Dateiattribut unter Unix. Es wirkt sich auf Verzeichnisse und Dateien unterschiedlich aus. Inhaltsverzeichnis 1 Notation 2 Wirkung 2.1 Bei ausführbaren… …   Deutsch Wikipedia

  • Sticky Bit — Das Sticky Bit (auch t Bit oder Save Text Bit) ist ein erweitertes Dateirecht, d. h. ein Dateiattribut unter Unix. Es wirkt sich auf Verzeichnisse und Dateien unterschiedlich aus. Inhaltsverzeichnis 1 Notation 2 Wirkung 2.1 Bei au …   Deutsch Wikipedia

  • SetUID-Bit — Setuid (Set User ID, manchmal auch suid) ist ein erweitertes Unix Dateirecht für Dateien oder Verzeichnisse des Unix Betriebssystems. Ausführbare Programme, bei denen dieses Bit gesetzt ist, werden mit den Rechten des Benutzers ausgeführt dem die …   Deutsch Wikipedia

  • Setuid — and setgid (short for set user ID upon execution and set group ID upon execution, respectively) are Unix access rights flags that allow users to run an executable with the permissions of the executable s owner or group. They are often used to… …   Wikipedia

  • File system permissions — Most modern file systems have methods of administering permissions or access rights to specific users and groups of users. These systems control the ability of the users affected to view or make changes to the contents of the file… …   Wikipedia

  • Unix-Dateirechte — Die Unix Dateirechte sind Dateiberechtigungen bei UNIX und Unix Derivaten wie Linux und Mac OS X. Die Berechtigungsaufteilung in Eigentümer, Gruppe und Andere gibt es seit UNIX V4 (1974). In früheren UNIX Versionen gab es nur 6 Bit für die… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”