Teil 2: Rechteverwaltung unter Linux
- Rechteverwaltung unter Linux
- Teil 2: Rechteverwaltung unter Linux
- 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:

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

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.

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.