titel_rechte2.jpg

chmod, chown, chgrp und umask

Gleiches Recht für alle?

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
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ä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.
  • Shell-Tipps
    Erfahrene Linux-Nutzer schwören auf flexible Kommandozeilentools, mit denen sie manche Aufgabe schneller bewältigen als in grafischen Programmen. Wir stellen interessante Anwendungen und Aufrufparameter vor, um auch Einsteiger zu einem Ausflug in die Shell zu ermutigen.
  • Zugangskontrolle
    Linux ist simpel: Alles ist eine Datei – und wer was damit tun darf, legt man einfach über die Dateiberechtigungen fest.
  • 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?
Kommentare

Infos zur Publikation

Lu07/2016: GIMP FÜR PROFIS

Digitale Ausgabe: Preis € 5,99
(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!       

Aktuelle Fragen

Mit Firewire Videos improtieren?
Werner Hahn, 09.06.2016 11:06, 5 Antworten
Ich besitze den Camcorder Panasonic NV-GS330, bei dem die Videos in guter Qualität nur über den 4...
lidl internetstick für linux mint
rolf meyer, 04.06.2016 14:17, 3 Antworten
hallo zusammen ich benötige eure hilfe habe einen lidl-internetstick möchte ihn auf linux mint i...
thema ändern
a b, 29.05.2016 16:34, 0 Antworten
Hallo Linuxer zuerst alle eine schönen Sonntag, bevor ich meine Frage stelle. Ich habe Ubuntu 1...
Ideenwettbewerb
G.-P. Möller, 28.05.2016 10:57, 0 Antworten
Liebe User, im Rahmen eines großen Forschungsprojekts am Lehrstuhl für Technologie- und Innova...
Welche Drucker sind Linux-mint kompatibel?
Johannes Nacke, 20.05.2016 07:32, 6 Antworten
Hallo Ihr Lieben, ich bitte um mitteilung welche Drucker Kompatibel sind mit Linux-Mint. LG Joh...