titel_rechte2.jpg

Gleiches Recht für alle?

chmod, chown, chgrp und umask

01.07.2004
Hände weg von fremden Dateien: Dank eines ausgefeilten Rechte-Systems können Sie unter Linux Ihre Dateien für andere Benutzer freigeben oder sperren. Dazu setzen Sie entweder Kommandos wie chmod und chgrp ein oder legen schon im Vorfeld mit umask fest, wer was darf.

Zu Befehl

Auch wenn sich viele Dinge bequem über grafische Oberflächen wie KDE oder GNOME regeln lassen – wer sein Linux-System richtig ausreizen möchte, kommt um die Kommandozeile nicht herum. Abgesehen davon gibt es auch sonst viele Situationen, in denen es gut ist, sich im Befehlszeilendschungel ein wenig auszukennen.

Das Rechtesystem unter Linux ist gut geregelt: Jede Datei hat einen Besitzer, und detaillierte Zugriffsrechte legen fest, wer die Datei lesen, schreiben oder ausführen darf. Dabei unterscheidet Linux zwischen Zugriffsrechten für den Dateieigentümer, für Mitglieder einer Gruppe und für alle sonstigen Benutzer des Rechners. Natürlich gilt wie immer: Der Administrator root darf alles und sollte daher vorsichtig mit den hier vorgestellten Kommandos hantieren.

Mit dem Befehl chmod verändern Sie die Zugriffsrechte von Dateien – natürlich nur, wenn Sie der Eigentümer oder der Systemdministrator sind. Als root dürfen Sie darüber hinaus mit dem Befehl chown Dateien einen neuen Besitzer geben. Wer für neue Dateien Voreinstellungen für die Zugriffsrechte festlegen möchte, setzt das Kommando umask ein – wir zeigen einen Weg durch den "Rechtedschungel".

Benutzer und Gruppen

Es gibt unter Linux drei Möglichkeiten, Benutzerrechte zu steuern: Zunächst einmal gibt es Rechte für den Dateibesitzer, dann für eine ganze Gruppe von Benutzern (jede Datei kann man genau einer Gruppe zuordnen) und schließlich für alle anderen Benutzer des Systems, die nicht in eine der beiden ersten Kategorien passen.

Das Konzept, mehrere Benutzer zu einer Gruppe zusammenzufassen, bringt viele Vorteile mit sich: So gibt es bei vielen Distributionen beispielsweise eine Gruppe namens audio – ihre Mitglieder dürfen unter anderem auf das Sound-Device (/dev/dsp) zugreifen. Der Zugriff auf CD-/DVD-ROM-Laufwerke ist auf den meisten Distributionen ähnlich geregelt. Mitglieder einer Gruppe teilen sich also bestimmte Rechte. Alle anderen Benutzer, die nicht zu der Gruppe gehören, werden unter "others" zusammengefasst.

Mit dem Kommando ls und dessen Option -l zeigen Sie außer dem Namen der Datei unter anderem den Typ, die Rechte, den Besitzer, die Gruppe und die Größe an (Kasten 1).

Kasten 1: Ausgabe von "ls"

huhn@open:~$ ls -l
[…]
-rw-rw—-    1 huhn     video     3002156 2004-05-24 20:29 bla.mpg
-rw——-    1 huhn     users        3526 2004-05-24 20:26 rechte.html
drwx——    3 huhn     users        4096 2004-05-24 19:16 titelpix/
[…]

Im ersten Feld dieser Ausgabe, der Kombination aus Buchstaben und Strichen, stehen die eigentlichen Zugriffsrechte der Datei. Im dritten Feld sehen Sie den Besitzer (Benutzer huhn), danach folgt die Gruppe (video oder users). Die Rechte lassen sich schnell entziffern: Das erste Zeichen bezeichnet den Dateityp. Der Bindestrich steht für eine "normale" Datei, das d bedeutet "directory" (Verzeichnis). Alternativ könnte hier ein b (blockorientiertes Gerät), c (zeichenorientiertes Gerät), l (symbolischer Link), p (FIFO-Datei, named pipe) oder s (Unix domain socket) stehen.

Als nächstes folgen drei Dreiergruppen, in denen jeweils r (read, lesen), w (write, schreiben) und x (execute, ausführen) stehen können. Steht an der Position statt einem dieser drei Buchstaben ein Minus-Zeichen, fehlt das entsprechende Recht. Die erste Dreiergruppe gehört zum Dateieigentümer, die zweite zur Gruppe und die dritte zu den sonstigen Anwendern. Für die Dateien aus dem ersten Beispiel gilt also: Die Datei bla.mpg ist für den Dateieigentümer (huhn) und für Mitglieder der Gruppe video les- und schreibbar. Alle anderen Benutzer auf dem System dürfen sie weder lesen noch schreiben; ausführen kann die Datei niemand, auch der Besitzer nicht.

Für Verzeichnisse haben diese neun Zugriffs-Flags eine leicht abweichende Bedeutung: r steht weiterhin für "readable", das heißt, die jeweiligen Anwender (Eigentümer, Gruppenmitglieder, sonstige) können den Inhalt des Verzeichnisses mit ls betrachten. Ein x bedeutet, dass man mit dem Befehl cd hinein wechseln darf – aber nur wenn x und w beide gesetzt sind, darf man dort auch Dateien ablegen. Andernfalls erscheint die Fehlermeldung Keine Berechtigung.

Noch mehr Rechte

Neben Lesen, Schreiben und Ausführen gibt es aber noch weitere Rechte zu verteilen, zum Beispiel das s- und das t-Bit: Das s-Bit (Setuid-Bit) ist eine spezielle Zusatzangabe für ausführbare Dateien. Wenn man es für den Eigentümer und/oder für die Gruppe setzt, erscheint es in der ls-Ausgabe an der Stelle, an der sonst das x steht. Wenn man die mit s-Bit versehene ausführbare Datei startet, führt Linux sie mit den Rechten des Dateieigentümers und/oder der Gruppe aus.

Wenn Sie als Administrator das s-Bit für Programme setzen, die root gehören, kann das ein erhebliches Sicherheitsrisiko sein – normale Benutzer können die Datei ausführen, als wären sie root.

Für Verzeichnisse hat das s-Bit eine andere Bedeutung: Gibt es beispielsweise eine Gruppe von Anwendern, die in einer Abteilung einer Firma arbeiten, kann der Administrator eine Gruppe für diese anlegen und alle Benutzer der Gruppe hinzufügen. Anschließend legt er ein Verzeichnis an, ordnet es der neuen Gruppe zu und setzt das s-Bit für die Gruppe. Alle neu angelegten Dateien in diesem Verzeichnis gehören danach zu dieser Gruppe.

Das t-Bit wird auch Sticky-Bit genannt. Es ersetzt ebenso wie das s-Bit in der Darstellung das x-Flag. Bei Programmen ist es eher selten zu finden; es zeigt dem System dann an, dass ein Programm nach der Ausführung im Speicher bleiben soll anstatt wie üblich den Speicher freizugeben – das beschleunigt den Start von oft benutzten Programmen. Eine ganz andere Auswirkung hat das t-Bit auf Verzeichnisse: Normalerweise kann man jede beliebige Datei in einem Verzeichnis, für das man Schreibrechte besitzt, löschen, auch wenn die Datei einem anderen Benutzer gehört. Für Sammelverzeichnisse, wie zum Beispiel /tmp, in denen Dateien mehrerer Benutzer liegen, setzt man das t-Bit: Trotz Schreiberlaubnis in dem Verzeichnis können dann alle Benutzer nur noch ihre eigenen Dateien (und solche, für die sie Schreiberlaubnis haben) löschen. Achtung: Wenn man Eigentümer des Verzeichnisses ist, spielt das t-Bit keine Rolle – man darf in jedem Fall löschen.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Zutritt erlaubt!
    Ein ausgefeiltes Benutzer- und Rechtesystem regelt unter Linux präzise, wer Zugriff worauf erhält. Die Besitzverhältnisse regeln Sie auf der Kommandozeile mit den Werkzeugen Chmod, Chgrp und Chown an.
  • Zu Befehl
    Auch wenn sich viele Dinge bequem über grafische Oberflächen wie KDE oder GNOME regeln lassen – wer sein Linux-System richtig ausreizen möchte, kommt um die Kommandozeile nicht herum. Abgesehen davon gibt es auch sonst viele Situationen, wo es gut ist, sich im Befehlszeilendschungel ein wenig auszukennen.
  • cp und mv
    In dieser "Zu Befehl"-Folge zeigen wir Ihnen, wie Sie Dateien an andere Stellen kopieren oder verschieben. Bei genauem Hinsehen geschehen manchmal recht ungewöhnliche Dinge: Was passiert, wenn man einen symbolischen Link kopiert? Wie bleiben möglichst viele Eigenschaften einer Datei beim Kopieren erhalten? Und wie kopiert man Unterverzeichnisse?
  • Zu Befehl
    Auch wenn sich viele Dinge bequem über grafische Oberflächen wie KDE oder GNOME regeln lassen – wer sein Linux-System richtig ausreizen möchte, kommt um die Kommandozeile nicht herum. Abgesehen davon gibt es auch sonst viele Situationen, wo es gut ist, sich im Befehlszeilen-Dschungel ein wenig auszukennen.
  • Zugangskontrolle
    Linux ist simpel: Alles ist eine Datei – und wer was damit tun darf, legt man einfach über die Dateiberechtigungen fest.
Kommentare

Infos zur Publikation

LU 01/2015: E-Books im Griff

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

ICEauthority
Thomas Mann, 17.12.2014 14:49, 2 Antworten
Fehlermeldung beim Start von Linux Mint: Could not update ICEauthority file / home/user/.ICEauth...
Linux einrichten
Sigrid Bölke, 10.12.2014 10:46, 5 Antworten
Hallo, liebe Community, bin hier ganz neu,also entschuldigt,wenn ich hier falsch bin. Mein Prob...
Externe USB-Festplatte mit Ext4 formatiert, USB-Stick wird nicht mehr eingebunden
Wimpy *, 02.12.2014 16:31, 0 Antworten
Hallo, ich habe die externe USB-FP, die nur für Daten-Backup benutzt wird, mit dem YaST-Partition...
Steuern mit Linux
Siegfried Markner, 01.12.2014 11:56, 2 Antworten
Welches Linux eignet sich am besten für Steuerungen.
Nach Ubdates alles weg ...
Maria Hänel, 15.11.2014 17:23, 5 Antworten
Ich brauche dringen eure Hilfe . Ich habe am wochenende ein paar Ubdates durch mein Notebook von...