Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...
Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...
Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
14.5 Besondere Zugriffsrechte für Verzeichnisse 207<br />
Analog zum Set-UID-Bit gibt es auch ein SGID-Bit, mit dem ein Prozess statt SGID-Bit<br />
mit der Gruppenzugehörigkeit <strong>des</strong> Aufrufers mit der Gruppenzugehörigkeit der<br />
Programmdatei und den damit verbundenen Rechten (typischerweise zum Zugriff<br />
auf andere Dateien, die dieser Gruppe zugeordnet sind) ausgeführt wird.<br />
<strong>Die</strong> SUID- und SGID-Modi werden wie alle anderen Modi einer Datei mit dem chmod-Syntax<br />
Systemprogramm chmod verändert, indem Sie symbolische Schlüssel wie u+s (setzt<br />
das SUID-Bit) oder g-s (löscht das SGID-Bit) angeben. Auch in oktalen Modi können<br />
Sie diese Bits setzen, indem Sie eine vierte Ziffer ganz links hinzufügen: Das<br />
SUID-Bit hat den Wert 4, das SGID-Bit den Wert 2 – so können Sie einer Datei<br />
den Zugriffsmodus 4755 geben, um sie für alle Benutzer lesbar und ausführbar<br />
zu machen (der Eigentümer darf auch schreiben) und das SUID-Bit zu setzen.<br />
Sie erkennen Programme, die mit den Rechten <strong>des</strong> Eigentümers oder der Gruppe<br />
der Programmdatei arbeiten, in der Ausgabe von »ls -l« durch die symboli- ls-Ausgabe<br />
schen Abkürzungen »s« anstelle von »x« für normal ausführbare Dateien.<br />
14.5 Besondere Zugriffsrechte für Verzeichnisse<br />
Es gibt eine weitere Ausnahme von der Zuordnung <strong>des</strong> Eigentums an Dateien<br />
nach dem »Verursacherprinzip«: Der Eigentümer eines Verzeichnisses kann bestimmen,<br />
dass die in diesem Verzeichnis erzeugten Dateien der gleichen Benutzergruppe<br />
gehören wie das Verzeichnis selbst. Das geschieht, indem das SGID- SGID für Verzeichnisse<br />
Bit <strong>des</strong> Verzeichnisses gesetzt wird. (Da Verzeichnisse nicht ausgeführt werden<br />
können, ist das SGID-Bit für solche Sachen frei.)<br />
<strong>Die</strong> Zugriffsrechte auf ein Verzeichnis werden durch das SGID-Bit nicht verändert.<br />
Um eine Datei in einem solchen Verzeichnis anzulegen, muss ein Benutzer<br />
das Schreibrecht in der für ihn zutreffenden Kategorie (Eigentümer, Gruppe, andere<br />
Benutzer) haben. Wenn ein Benutzer zum Beispiel weder der Eigentümer<br />
noch Mitglied der Benutzergruppe eines SGID-Verzeichnisses ist, muss das Verzeichnis<br />
für alle Benutzer beschreibbar sein, damit er neue Dateien hineinschreiben<br />
kann. <strong>Die</strong> in dem SGID-Verzeichnis erzeugte Datei gehört dann der Gruppe<br />
<strong>des</strong> Verzeichnisses, auch wenn der Benutzer selbst dieser Gruppe nicht angehört.<br />
B<br />
Der typische Anwendungsfall für das SGID-Bit auf einem Verzeichnis ist<br />
ein Verzeichnis, das einer »Projektgruppe« als Datenablage dient. (Nur) <strong>Die</strong><br />
Mitglieder der Projektgruppe sollen alle Dateien im Verzeichnis lesen und<br />
schreiben und auch neue Dateien anlegen können. Das heißt, Sie müssen<br />
alle Benutzer, die an dem Projekt mitarbeiten, in die Projektgruppe tun (sekundäre<br />
Gruppe reicht):<br />
# groupadd projekt Neue Gruppe anlegen<br />
# usermod -a -G projekt hugo hugo in die Gruppe<br />
# usermod -a -G projekt susi susi auch<br />
✁✁✁✁✁<br />
Jetzt können Sie das Verzeichnis anlegen und der neuen Gruppe zuordnen.<br />
Eigentümer und Gruppe bekommen alle Rechte, der Rest der Welt keine;<br />
außerdem setzen Sie noch das SGID-Bit:<br />
# cd /home/projekt<br />
# chgrp projekt /home/projekt<br />
# chmod u=rwx,g=srwx /home/projekt<br />
Wenn hugo jetzt eine Datei in /home/projekt anlegt, sollte diese der Gruppe<br />
projekt zugeordnet sein:<br />
$ id<br />
uid=1000(hugo) gid=1000(hugo) groups=101(projekt),1000(hugo)<br />
$ touch /tmp/hugo.txt Test: gewöhnliches Verzeichnis<br />
Copyright © 2012 <strong>Linup</strong> <strong>Front</strong> GmbH