Zum Inhalt springen
Der Guide für ein smartes Leben.
Mit beschränkten Rechten

Teil 2: Rechteverwaltung unter Linux

Autoren: Redaktion pcmagazin und Beate Rother • 16.10.2007 • ca. 3:20 Min

Inhalt
  1. Rechteverwaltung unter Linux
  2. Teil 2: Rechteverwaltung unter Linux
  3. Teil 3: Rechteverwaltung unter Linux

Im Zeitalter der GUIs legen Sie unter Linux Benutzer und Gruppen mit dem Verwaltungswerkzeug Ihrer Distribution an, bei openSUSE etwa mit YaST/Sicherheit und Benutzer, oder klassisch auf der Shell mit dem Befehl useradd: ...

Im Zeitalter der GUIs legen Sie unter Linux Benutzer und Gruppen mit dem Verwaltungswerkzeug Ihrer Distribution an, bei openSUSE etwa mit YaST/Sicherheit und Benutzer, oder klassisch auf der Shell mit dem Befehl useradd:

Rechteverwaltung unter Linux
Passwörter sollten acht Zeichen lang sein und häufig geändert werden.
© Archiv
useradd name -d
homeverzeichnis -G
Gruppe -p Passwort-s
Shell -u uid

Die Voreinstellungen für diese Parameter stehen in der Datei /etc/default/useradd. Shell ist standardmäßig die bash, Gruppe users, Kennziffer uid hat eine Zahl größer als 999. Kleinere Zahlen sind für die Systembenutzer reserviert, root hat die Null. Sie können mehrere Gruppen angeben, jeweils durch ein Komma getrennt. Damit der neue Benutzer mit der Arbeit beginnen kann, übernimmt Linux beim Anlegen aus dem Verzeichnis /etc/skel eine minimale Ausstattung für das Home-Verzeichnis mit Konfigurationsdateien für Shell und Windowmanager. Sie ändern die Benutzereinstellungen mit usermod. Die Liste der Benutzer auf Ihrem System liefert die Datei /etc/passwd

Rechteverwaltung unter Linux
Komfortabel: openSUSEs YaST fragt beim Anlegen eines Users alle Angaben ab.
© Archiv
root:x:0:0:root:/root:/bin/bash
...
wwwrun:x:30:8:WWW daemon
apache:/var/lib/wwwrun:/bin/false
nobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bash
br:x:1000:100:Beate
Rother:/home/br:/bin/bash

Das x hinter dem Benutzernamen bedeutet, dass es ein Passwort gibt, es folgen die Kennziffern für Benutzer und Gruppe, der bürgerliche Name des Benutzers, sein Home-Verzeichnis und seine Login-Shell. Der Eintrag /bin/false beim Apache-Daemon bedeutet, dass ihm keine interaktive Benutzung der Shell möglich ist. Der extrem unprivilegierte Benutzer nobody ist für bestimmte Programme erforderlich und sollte keineswegs gelöscht werden. Die Passwörter selbst stehen bei einem Einzelrechner verschlüsselt in der Datei /etc/shadow.

Die Liste der Gruppen steht in der Datei /etc/group/. Eine Gruppe hat einen Namen, eine Kennziffer GID und eine Mitgliederliste. Sie kann ein Passwort haben, das abgefragt wird, wenn ein Benutzer selbsttätig der Gruppe beitreten will.

Bei der GID sind Zahlen unter 100 den Systemgruppen vorbehalten. Mit userdel und groupdel entfernen Sie Benutzer und Gruppen aus dem System.

Zugriffsrechte für Dateien setzen

Mit welchen Rechten eine Datei ausgestattet ist, erfahren Sie im Dateimanager oder mit dem Befehl

ls -l Dateiname
# -rw-rw-r-- 1 tw users 62464 2006-29-12 19:21 silvester,txt

folgen je drei Spalten für die Rechte (rwx) von Besitzer, Gruppe und Sonstigen. Sie restlichen Angaben nennen Besitzer, Gruppe, Dateigröße, Datum und Uhrzeit der letzten Änderung sowie Namen der Datei. In dem Beispiel darf der Besitzer tw lesend und schreibend auf die Datei silvester zugreifen, ebenso die Mitglieder der Gruppe users, alle anderen hingegen nur lesend.

Rechteverwaltung unter Linux
Die Zugriffsrechte auf Dateien können Sie im Dateimanager wie Konqueror ändern.
© Archiv

Die Dateirechte verändern dürfen prinzipiell nur der Eigentümer und der Superuser root. Dazu dient der Befehl chmod (change mode). Seine Attribute sind: u user (Besitzer), ggroup (Gruppe), o others (alle anderen), a all (alle), r read (lesen), w write (schreiben), x execute (ausführen).

chmod g -r kettwig.txt

nimmt der Gruppe Schreibrechte auf die Datei kettwig.txt;

chmod o+r kettwig.txt

gibt allen Benutzern Leserechte. Kürzer ist es, die Zugriffsrechte auf eine Datei durch einen Zahlencode darzustellen:

chmod 640

gibt dem Benutzer Lese- und Schreibrechte, der Gruppe Leserechte, den anderen keine Rechte. Wie berechnet sich das? Stellen Sie sich die Rechteangabe als Bitmuster vor:

rw- r-- r-- ergibt 110 100 100

Statt der binären verwenden Sie die oktale Schreibweise:

000 wird zu 0: ---
001 wird zu 1: --x
010 wird zu 2: -w-
011 wird zu 3: -wx
100 wird zu 4: r--
101 wird zu 5: r-x
110 wird zu 6: rw-
111 wird zu 7: rwx

und kombinieren die Zahlen zu einer vollständigen Angabe. 400 bedeutet dann: Der Besitzer darf lesen, alle anderen haben keine Rechte, das andere Extrem ist 777: Alle dürfen alles. Mit denselben Befehlen ändern Sie Besitzer und Rechte von Verzeichnissen. Sollen alle enthaltenen Dateien und Unterverzeichnisse mit geändert werden, rufen Sie die Befehle rekursiv auf:

chmod -R

Den Eigentümer der Datei ändern Sie mit chown:

chown lg kettwig.txt

die Gruppe mit chgrp:

chgrp Team A kettwig.txt

Sie können beides in einem Aufwasch erledigen:

chown lg:Team A kettwig.txt

Die meisten Dateimanager bereiten diesen Befehl übersichtlich in einer GUI auf, aber insbesondere, wenn Sie mehrere Dateien ändern wollen, sind Sie auf der Shell schneller.

Fazit

Wer was unter Linux darf, steuern Sie über Zugriffsrechte auf Dateien. Da unter Linux auch die Hardware durch Dateien repräsentiert wird, können Sie so Ihr System aus einem Guss vollständig durchstrukturieren. Sie legen einfach Gruppen und Untergruppen von Benutzern an, die jeweils Zugriff auf bestimmte Dateien, Geräte und Programme bekommen. Dabei differenzieren Sie, ob die Benutzer die Datei sehen, benutzen und/oder verändern dürfen. Die Möglichkeit eines Benutzers, mehreren Gruppen anzugehören, verfeinert dieses elegante System weiter.