Rechte und Pflichten – meine oder Deine Datei?
Zu Befehl
Neuer Besitzer oder Gruppe gewünscht?
Mit dem Programm chown lassen sich Dateien neue Besitzer zuordnen – allerdings nur vom Superuser root. Der Aufruf ist einfach:
chown neuerBesitzer datei
Als "einfacher" User auf dem System erhält man die Fehlermeldung: chown: datei: Operation not permitted. Die Gruppe hingegen kann man selbst verändern, aber auch hier wird Sicherheit im System ganz groß geschrieben – man darf die Datei nur den Gruppen zuordnen, in denen man selbst ist. Der Versuch, eine eigene Datei der Gruppe root "unterzuschieben" scheitert: chgrp: you are not a member of group `root': Operation not permitted. Wenn man nicht weiß, in welchen Gruppen man Mitglied ist, kann man übrigens einfach den Befehl id verwenden.
Neben separaten Aufrufen von chown und chgrp erlaubt Linux auch das gleichzeitige Verändern von Eigentümer und Gruppe. Ist man als root eingeloggt, kann man mit chown user.gruppe datei das File einem neuen Benutzer und gleichzeitig einer neuen Gruppe zuweisen.
Alte Unixe sind anders
Falls Sie in einem alten Unix-Buch von der Möglichkeit lesen, dass jeder Anwender Dateien mit chown "verschenken" kann, dann lesen Sie ein wirklich altes Buch – dies ging mit einigen Unix-Varianten tatsächlich, ist aber heute nicht mehr üblich, weil damit unter anderem Quota-Regelungen (Plattenplatz-Beschränkungen pro Anwender) unterlaufen werden können. Sollte chown wider Erwarten auch für Nicht-root-Anwender funktionieren, dann schauen Sie mal, ob /bin/chown ein s-Bit hat…
Glossar
Gruppe
Benutzer werden unter Unix in drei Kategorien eingeordnet, über die ihre Rechte gesteuert werden können. Jeder User hat eine entsprechende UID ("User IDentification number"), der in der Regel genau ein Benutzername zugeordnet wird. Darüber hinaus gibt es aber noch eine sogenannte GID ("Group IDentification number"), mit der die Zugehörigkeit zu einer Gruppe festgelegt wird. Mitglieder einer Gruppe können sich bestimmte Rechte teilen. Alle anderen Benutzer, die nicht zu der Gruppe gehören, werden unter "others" zusammengefasst.
s-Bit
Das sogenannte s-Bit (setuid-Bit) ist eine spezielle Zusatzangabe für ausführbare Dateien. Das setuid-Bit kann entweder für den Eigentümer oder die Gruppe gesetzt werden und ersetzt in der Darstellung das "x". Die ausführbare Datei verhält sich anschließend für alle Benutzer so, als ob sie mit den Rechten des Dateieigentümers liefe und nicht länger mit den eigenen. Sollte also das s-Bit für Programme gesetzt sein, die root gehören, kann das ein erhebliches Sicherheitsrisiko sein – gewöhnliche Benutzer können die Datei ausführen, als wären sie der Superuser.
Oktalzahlen
Oktalzahlen sind – wie die sonst üblichen Dezimalzahlen, die sich aus den Ziffern 0 bis 9 zusammensetzen – eine von drei häufigen Zahlendarstellungen in der Computerwelt, die ein anderes Ziffernsystem verwenden. Im Fall der Oktalzahlen werden nur acht Ziffern (0 bis 7) verwendet, so dass in dieser Darstellung auf 7 bereits 10 folgt. Die Oktaldarstellung eignet sich für die Zugriffsrechte besonders, da ja genau die Werte 0 bis 7 vorkommen können. Neben Oktalzahlen werden noch häufig Hexadezimalzahlen (16 Ziffern 0-9 und A-F) und Binär- oder Dualzahlen (nur die beiden Ziffern 0 und 1) verwendet. Das Rechnen mit Zahlen in einer solchen alternativen Darstellung läuft prinzipiell wie mit unseren Dezimalzahlen ab, und auch die Umrechnung ist nicht weiter schwierig: So wie sich etwa die Zahl 2604 als 2*1000 + 6*100 + 0*10 + 4*1, also 2*10^3 + 6*10^2 + 0*10^1 + 4*10^0 "ausrechnen" lässt, gilt für eine Oktalzahl z. B. 345(oktal) = 3*8^2 + 4*8^1 + 5*8^0 = 3*64 + 4*8 + 5*1 = 229.
t-Bit
Das t-Bit (auch sticky-Bit genannt) ersetzt ebenso wie das s-Bit in der Darstellung das x-Flag. Bei Programmen ist es eher selten zu finden; es gibt dem System an, dass ein Programm nach der Ausführung im Speicher bleiben soll anstatt wie üblich den Speicher freizugeben – eine wesentliche Beschleunigung für oft benutzte Programme. Für Verzeichnisse hat das t-Bit eine ganz andere Auswirkung. Normalerweise hat man die Möglichkeit, jede beliebige Datei in einem Verzeichnis, für das man Schreibberechtigung besitzt, zu löschen, auch wenn das File einem anderen Benutzer gehört. Für Sammelverzeichnisse wie z. B. /tmp, in denen von mehreren Benutzern Dateien liegen, empfiehlt sich das Setzen des t-Bits: Trotz Schreiberlaubnis in dem Verzeichnis kann man nur noch Dateien löschen, die einem selbst gehören oder für die man eine explizite Schreiberlaubnis hat. Achtung: Wenn man Eigentümer des Verzeichnisses ist, spielt das t-Bit keine Rolle – man darf in jedem Fall löschen!



