AA_pineingabe_sxc_459836.jpg

© sxc.hu

Rechteverwaltung unter Linux

Zugangskontrolle

Linux ist simpel: Alles ist eine Datei – und wer was damit tun darf, legt man einfach über die Dateiberechtigungen fest.

Wer zum ersten Mal von Windows auf Linux umsteigt, muss sich zunächst daran gewöhnen, dass er nicht mehr alles darf. Es gibt Verzeichnisse und Programme, die nur der Systemadministrator lesen und ausführen darf, andere Verzeichnisse und Dateien dürfen normale Nutzer zwar lesen und kopieren, aber das Original nicht verändern oder löschen.

Wer darf was?

Das Linux-Rechtesystem stammt noch aus den Anfängen der Unix-Zeit und beschränkt sich auf drei verschiedene Handlungsrechte:

  • lesen (read, r)
  • schreiben (write, w)
  • ausführen (execute, x)

Da sich über diese drei Rechte zwar die Frage des "was" klären lässt, aber nicht "wer", unterscheidet Linux zudem zwischen drei Besitzerrechten:

  • Eigentümer (user, u)
  • Gruppe (group, g)
  • Alle anderen (others, o)

Für jedes Besitzerrecht lässt sich individuell festlegen, welche Handlungsrechte dazugehören. Die Tabelle "Zugriffsrechte" verdeutlicht dies anhand einer Matrix.

Zugriffsrechte

  lesen schreiben ausführen
Eigentümer r-- — — -w- — — --x — —
Gruppe — r-- — — -w- — — --x —
Alle Anderen — — -r- — — -w- — — --x

Aus der Kombination der sechs Eigenschaften und verschiedenen Nutzergruppen lassen sich praktisch beliebig viele Zugriffsrechte festlegen. Öffnen Sie zum Beispiel über [Alt]+[F2] und den Befehl konsole das KDE-Terminalfenster und geben hier den Befehl ls -l ein, dann sehen Sie eine Ausgabe aller Dateien und Ordner Ihres Home-Verzeichnisses.

Zu Beginn jeder Zeile stehen die Rechte. Der Eintrag -rw-rw-r-- bedeutet zum Beispiel, dass der Eigentümer und alle Mitglieder der Gruppe, zu der die Datei gehört, die Datei lesen und (über-)schreiben dürfen, alle anderen dürfen die Datei nur lesen. Auch in den meisten grafischen Dateimangern können Sie sich die Rechte anzeigen lassen. In Dolphin (Abbildung 1) finden Sie die passenden Einstellungen unter AnsichtZusatzinformationen.

Abbildung 1: Der Eigentümer marcel und alle Angehörigen der Gruppe users dürfen die Datei lesen und verändern. Andere Nutzer dürfen die Datei nur lesen.

Eine kleine Ausnahme im Rechteschema nehmen die Verzeichnisse ein: Hier steht das x für die Erlaubnis, das Verzeichnis betreten zu dürfen und sich die Inhalte des Verzeichnisses anzuschauen. Verzeichnisse erkennen Sie zudem am führenden d bei der Ausgabe von ls -l, zum Beispiel drwxr-xr-x.

Rechte vergeben

Wie die meisten Linux-Aufgaben lässt sich auch das Rechtemanagement auf der Kommandozeile oder mit grafischen Tools vornehmen. Möchten Sie zum Beispiel Ihr Home-Verzeichnis so einrichten, dass sich darin außer Ihnen (und root) niemand umschauen darf, klicken Sie zum Beispiel in Konqueror oder Dolphin mit der rechten Maustaste auf das Home-Verzeichnis und wählen Eigenschaften. Auf dem Reiter Berechtigungen richten Sie dann über die Dropdown-Liste für Gruppe und Sonstige den Eintrag Unzulässig ein (Abbildung 2).

Abbildung 2: Per Rechtsklick legen Sie in den meisten grafischen Dateimanagern die Zugriffsrechte auf Dateien und Verzeichnisse fest.

Auf der Kommandozeile hilft der Befehl chmod beim Einrichten der Benutzerrechte. Möchte der Benutzer marcel wie in obigem Beispiel dem Home-Verzeichnis sämtliche Rechte (außer den eigenen) entziehen, genügt dazu folgender Befehl:

$ chmod go-rx /home/marcel

Ein ls -ld /home/marcel zeigt daraufhin die Ausgabe drwx------ an. Um allen Nutzern Schreibrechte auf die Datei wichtig.txt zuzuteilen, müssten Sie folglich den Befehl chmod ugo+w wichtig.txt aufrufen. Dafür gibt es eine abgekürzte Schreibweise:

$ chmod a+w wichtig.txt

Achten Sie darauf, dass sich der Chmod-Befehl ohne Angabe der Nutzergruppe (zum Beispiel chmod +w datei.txt) nur auf den Eigentümer bezieht. Ein chmod -w geheim.txt entzieht somit nur Ihnen selbst die Schreibrechte. Um eine Datei in den Read-only-Modus zu versetzen, nutzen Sie besser chmod a-w geheim.txt.

Computer arbeiten bekanntlich nicht mit Buchstaben, sondern mit Zahlen. Anstelle der Buchstaben rwx können Sie auch die Zahlen 4, 2, 1 und 0 verwenden. Null bedeutet keine Rechte, 1 setzt das Ausführrecht, 2 das Schreibrecht und 4 das Leserecht. Der Befehl

$ chmod 444 wichtig.txt

setzt somit die Datei wichtig.txt in den Read-only-Modus, ein chmod 644 datei.txt erlaubt dem Besitzer das Lesen und Schreiben, der Gruppe und den übrigen Nutzern nur das Lesen und so weiter. Möchten Sie die Rechte rekursive also in sämtlichen Unterverzeichnissen ändern, rufen Sie chmod mit der Option -R auf.

Wenn Sie sich in Ihrem Home-Verzeichnis etwas umschauen, stellen Sie fest, dass die meisten Dateien auf den Wert 644 eingestellt sind, bei Verzeichnissen zeigt ein ls -ld in der Regel drwxr-xr-x, was dem Wert 755 entspricht. Bei beiden Einstellungen handelt es sich um die Standardwerte für die so genannte User File-Creation Mask, kurz Umask. Sie legt fest, welche Rechte neu angelegte Dateien und Verzeichnisse aufweisen.

Die meisten Distribution setzen die Umask beim Login automatisch über ein entsprechendes PAM-Modul (pam_umask.so), alternativ bietet sich das Setup über die Dateien /etc/profile (global) beziehungsweise ~/.profile (benutzerspezifisch) an. Welchen Wert Ihr Linux-System gerade nutzt, erfahren Sie über den Befehl umask. Er zeigt allerdings nicht die eingestellten Rechte an, sondern welche Rechte von allen möglichen Rechten abgezogen werden sollen.

Die Tabelle "Umask bestimmen" zeigt das an drei Beispielen. Sollen zum Beispiel der Eigentümer und die Gruppe vollen Zugriff auf eine Datei bekommen, die übrigen Nutzer jedoch nicht einmal Leserechte (Modus 660), lautet der passende Befehl

$ umask 006

Bei Verzeichnissen und ausführbaren Dateien beträgt der Wert der Summe aller Rechte 777. Die traditionelle Umask 022 richtet somit den Werte 755 ein. Aktuelle Distributionen zeigen bei der Ausgabe des Umask-Befehls eine vierstellige Zahl an. Das hängt damit zusammen, dass sich die Möglichkeiten der File-Creation Mask durch die erweiterten Attribute (Extended Attributes) erweitert haben. An der grundlegenden Nutzung der Umask hat sich aber nichts geändert.

Umask bestimmen

  Nur ich Standard Alle dürfen
Dateien
Modus 600 644 666
Alle Rechte 666 666 666
Umask 066 022 000
Verzeichnisse
Modus 700 755 777
Alle Rechte 777 777 777
Umask 077 022 000

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • chmod, chown, chgrp und umask
    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.
  • 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.
  • 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.
  • Know-how für die Kommandozeile
    Erfahrene Linux-Nutzer schwören auf flexible Kommandozeilentools, mit denen sich manche Aufgabe schneller bewältigen lässt als in grafischen Programmen. Wir stellen die wichtigsten Anwendungen vor, um auch Einsteiger zu einem Ausflug in die Shell zu ermutigen.
  • 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

LU 12/2017: Perfekte Videos

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

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

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

Stellenmarkt

Aktuelle Fragen

EasyBCD/NeoGrub
Wolfgang Conrad, 17.12.2017 11:40, 0 Antworten
Hallo zusammen, benutze unter Windows 7 den EasyBCD bzw. NEOgrub, um LinuxMint aus einer ISO Dat...
Huawei
Pit Hampelmann, 13.12.2017 11:35, 2 Antworten
Welches Smartphone ist für euch momentan das beste? Sehe ja die Huawei gerade ganz weit vorne. Bi...
Fernstudium Informatik
Joe Cole, 12.12.2017 10:36, 2 Antworten
Hallo! habe früher als ich 13 Jahre angefangen mit HTML und später Java zu programmieren. Weit...
Installation Linux mint auf stick
Reiner Schulz, 10.12.2017 17:34, 3 Antworten
Hallo, ich hab ein ISO-image mit Linux Mint auf einem Stick untergebracht Jetzt kann ich auch...
Canon Maxify 2750 oder ähnlicher Drucker
Hannes Richert, 05.12.2017 20:14, 4 Antworten
Hallo, leider hat Canon mich weiterverwiesen, weil sie Linux nicht supporten.. deshalb hier die...