Benutzer und Dateirechte unter LINUX
Da Linux bzw. Unix von Grund auf als Mehrbenutzersystem konzipiert ist, beinhaltet es eine komplexe Benutzerverwaltung mit Auswirkungen auf den Zugriff auf das Dateisystem.
Linux-Benutzer
Für jede Person, die einen Linux-Rechner benutzen kann, aber auch für einzelne Dienste und Server gibt es einen Linux-Benutzer. In Raspian ist der Standard-Benutzer jener mit dem Namen „pi“.
Der wichtigste Benutzer in allen Distributionen ist der Benutzer mit dem Namen „root“, der als oberster Administrator verstanden werden kann. Unter Raspian, sowie in einigen anderen Linux-Distributionen, kann man sich nicht als diese Benutzer direkt einloggen, sondern kann nur als „normaler“ Benutzer bei Bedarf auf diesen Benutzer umschalten. Dazu dient das Kommando sudo, dass man anderen Befehlen voranstellen kann.
Benutzer sind einer oder mehreren Gruppen zugeordnet. Normale Benutzer gehören zur Gruppe „users“, Administratoren zur Gruppe „root“.
In folgenden Konfigurationsdateien sind Benutzer, Passwörter und Gruppenzugehörigkeiten aufgelistet.
/etc/passwd | Benutzer |
/etc/shadow | verschlüsselte Passwörter für die Benutzer |
/etc/group | Gruppen und Zugehörigkeiten |
Den Inhalt dieser Dateien kann man sich mit cat oder nano ansehen, wobei der Zugriff auf die Passwortdatei ist aber nur mit root-Rechten erlaubt.
Beispiel:
cat /etc/passwd
Dateirechte
Im Linux-Dateisystem werden zu jeder Datei, zu jedem Ordner und auch zu jedem Geräte (solche werden ebenfalls über das Dateisystem angesprochen) Benutzer, Gruppe und die dazugehörigen Zugriffsrechte gespeichert.
Als Beispiel das Home-Verzeichnis des Benutzers pi mit dem Befehl
ls -all
Neben dem Benutzernamen des Eigentümers der Datei und der Gruppenzugehörigkeit geben die ersten 10 Buchstaben die Zugriffsrechte auf diese Datei an. Ordner, in Linux directories genannt, haben an der ersten Stelle ein d. Die nächsten drei Stellen geben die Zugriffsrechte für den Benutzer/Eigentümer (user, owner) an, die nächsten drei für Mitglieder der angegebenen Gruppe (group) und die letzten drei für alle anderen (others, all), wobei die Buchstaben folgendes bedeuten:
r | read | Leserecht, erlaubt den Zugriff ohne Veränderung der Datei |
w | write | Schreibrecht, erlaubt das Ändern und Löschen einer Datei |
x | execute | Damit werden ausführbare Dateien gekennzeichnet, d.h. solche Dateien enthalten Programme die ausgeführt werden dürfen. Handelt es sich um einen Ordner, so bedeutet dies, dass der Ordner geöffnet werden darf. |
Oft werden die Zugriffsrechte statt mit den Buchstaben rwx mit einer dreistelligen Oktalzahl angegeben, wobei pro Stelle 4 für das Read-Recht, 2 für das Write-Recht und 1 für das Execute-Recht addiert wird.
Beispiele:
rwx------ | 700 | Der Eigentümer darf lesen, schreiben und die Datei ausführen. Sonst darf keiner etwas. |
rwxr-x--- | 750 | Der Eigentümer darf alles, Gruppenmitglieder dürfen die Datei lesen und ausführen, aber nicht verändern oder löschen. Alle anderen dürfen die Datei weder lesen, noch ändern oder ausführen. |
rw-rw-r– | 664 | Eigentümer und Gruppenmitglieder dürfen lesen und schreiben, alle anderen Benutzer nur lesen. |
rwxrwxrwx | 777 | Alle Benutzer dürfen alles. |
Kommandozeilenbefehle
Mit folgenden Kommandozeilenbefehlen können Benutzer- und Gruppeneigenschaften eingesehen und geändert werden.
whoami | Gibt den Namen des aktuellen Benutzers aus |
groups | Gibt die Gruppenzugehörigkeit des aktuellen Benuters aus |
id | Zeigt Benutzernamen und Gruppenzugehörigkeit des aktuellen Benutzers samt ID in Form einer Zahl an. |
passwd | Ändern des Passwortes |
adduser | Benutzer anlegen |
addgroup | Gruppe anlegen |
delgroup | Gruppe löschen |
deluser | Benutzer löschen |
Wie der Befehl gefolgt von weiteren Angaben verwendet werden kann, darüber sollte man man sich zuerst informieren. Auch wenn es sich auf eine andere Distribution namens Ubuntu bezieht, ist die folgende Seite zum Nachlesen empfehlenswert: wiki.ubuntuusers.de/Shell/Befehlsübersicht/.