claim.gif
Linux Magazin Linux User Easy Linux Ubuntu User International Linux Community
Erschienen in EasyLinux 08/2006   »   Ausgabe bestellen

Was Benutzer dürfen und nicht dürfen

Rechte vergeben

Marcel Hilzinger


Linux ist das ideale Betriebssystem, wenn mehrere Benutzer einem Rechner arbeiten möchten. Doch sobald Sie nicht alleine am PC arbeiten, tauchen in der Regel auch Rechteprobleme auf. Lesen Sie hier, wie Sie diese in den Griff bekommen.

Linux ist ein so genanntes Mehrbenutzersystem. Die meisten Leute stellen sich darunter vor, dass sie mit zwei Mäusen, zwei Monitoren und zwei Tastaturen Ihren Linux-Rechner komplett teilen können. Leider stimmt das nur bedingt, da spezielle Hard- oder Software nötig ist, um zwei Tastaturen gleichzeitig handzuhaben. Es ist aber ohne Weiteres möglich, sich von einem zweiten Rechner an einem Linux-PC anzumelden und dann diesen Rechner zum Arbeiten zu benutzen. Auch können mehrere Benutzer sich einen Linux-Rechner teilen, wenn sie ihn nicht gleichzeitig nutzen möchten.

Home, sweet Home

Linux legt für jeden Anwender ein Verzeichnis unter /home an. Der Name des Verzeichnisses ist mit dem Benutzer- beziehungsweise Loginnamen identisch. Für Bert Maier mit dem Benutzernamen bert lautet das Verzeichnis /home/bert, für Anna Müller mit dem Loginnamen anna lautet der Name des Home-Verzeichnisses /home/anna.

Je nach Distribution darf Anna das Verzeichnis /home/bert öffnen und kann somit schauen, welche Dateien sich darin befinden. Suse Linux und Ubuntu erlauben dies in der Grundeinstellung, lediglich in den Ordner Desktop -- die Dateien des Arbeitsplatzes -- haben fremde Benutzer keine Einsicht. Bei Mandriva Linux dürfen Benutzer nicht in anderen Benutzerverzeichnissen herumstöbern. Das Schreiben in fremden Home-Verzeichnissen erlaubt keine der EasyLinux-Distributionen.

Grundlagen

Dateien und Verzeichnisse sind traditionell mit dreierlei Rechten ausgestattet:

Ändern Sie im Dateimanager Konqueror den Ansichtsmodus über den Menüpunkt Ansicht / Anzeigemodus von Symbolansicht zu Textansicht, finden Sie diese drei Rechte und die Buchstaben r, w und x in der Spalte Berechtigungen wieder (Abbildung 1). Der erste Buchstabe d in der markierten Zeile bedeutet, dass es sich um ein Verzeichnis (englisch directory) handelt.

Abb. 1: In der Textansicht zeigt Konqueror detaillierte Informationen zu den Berechtigungen an.

Neben diesen drei Rechten existieren auch drei Rechtegruppen:

Aus diesen drei Rechten und drei Gruppen entsteht das in der Tabelle Rechtematrix aufgeführte Rechtesystem. Die Zeilen, die in der Tabelle untereinander stehen, zeigt Konqueror hintereinander an, so entsteht zum Beispiel die Ausgabe

drwxr-xr-x

Sie bedeutet, dass der Eigentümer sämtliche Rechte auf das Verzeichnis besitzt (rwx), die Mitglieder der gleichen Gruppe und alle Anderen aber nicht in das Verzeichnis schreiben dürfen (r-x). Ein Minuszeichen bedeutet dabei, dass keine Berechtigung besteht. Eine einzelne Stelle bezeichnet man dabei als Bit. Bei Schreibrechten ist somit das w-Bit gesetzt, bei Leserechten das r-Bit und so weiter.

Rechtematrix
 lesenschreibenausführen
Eigentümerr/-w/-x/-
Grupper/-w/-x/-
Anderer/-w/-x/-

Rechte verwalten

Erfahrene Linux-Benutzer stellen die Dateiberechtigungen auf der Kommandozeile ein. Details dazu lesen Sie in einem EasyLinux-Artikel aus dem Jahr 2003 [1], der auch online verfügbar ist [2]. Grafisch nehmen Sie die Rechtevergabe am einfachsten im Dateimanager Konqueror vor:

  1. Klicken Sie in Konqueror mit der rechten Maustaste auf eine Datei oder ein Verzeichnis und wählen Sie den Menüpunkt Eigenschaften.
  1. Im neuen Dialog wechseln Sie auf den Reiter Berechtigungen und stellen dann über die Ausklappliste die Rechte für den Benutzer (Eigentümer) die Gruppe und alle Anderen (Sonstige) fest.
  1. Handelt es sich bei der Datei um ein Programm (zum Beispiel ein selbst geschriebenes Skript), kreuzen Sie zusätzlich die Option Ausführbar an.
  1. Unter Erweiterte Berechtigungen zeigen Suse Linux 10.0 und Mandriva Linux die Rechtematrix an (Abbildung 3). Hier markieren Sie die gewünschten Checkboxen und schließen dann den Dialog wieder.

Abb. 3: In diesem Dialog legen Sie unter KDE 3.4 die Benutzerrechte fest. Die Abbildung zeigt den Dialog von Mandriva Linux.

Abb. 4: Seit Version 3.5 erlaubt KDE auch das Einrichten von erweiterten Benutzerrechten. Hier der Dialog von Suse Linux 10.1.

Suse 10.1 und alle Systeme mit KDE 3.5 öffnen über Erweiterte Berechtigungen einen Dialog für eine erweiterte Zugriffskontrolle über Access Control Lists (ACLs, Abbildung 4). Zugeteilte Rechte sind hier mit einem grünen Haken markiert. Ein Klick auf einen Haken entfernt die entsprechende Berechtigung. Um Rechte zu vergeben, klicken Sie auf die leere Fläche unter den Spalten r w x. Möchten Sie von den ACLs Gebrauch machen, wählen Sie Eintrag hinzufügen und legen dann einen Benutzer oder eine Gruppe an. Details zu den erweiterten Berechtigungen lesen Sie im Kasten KDE und ACL.

KDE und ACL

Über so genannte Access Control Lists (Zugriffslisten) lassen sich nicht nur Rechte für die drei Gruppen Benutzer, Gruppe und Sonstige einstellen, sondern auch feinere Skalierungen vornehmen. So können zum Beispiel auch einzelnen Benutzern Rechte eingeräumt werden, die sich in keiner speziellen Gruppe befinden. Angenommen, die Datei geheim.txt gehört dem Benutzer bert und der Gruppe users und besitzt die Rechte -rw-------, ist sie also nur für bert les- und schreibbar. Über einen entsprechenden ACL-Eintrag kann nun der Eigentümer der Datei oder der Systemadministrator auch anna Zugriff darauf gewähren, ohne dass sich dadurch die Anzeige in Konqueror verändern würde. Lediglich ein Pluszeichen hinter der detaillierten Ausgabe weist auf die erweiterten Rechte hin (Abbildung 5).

ACLs benutzt allerdings nur Suse Linux in der Standardeinstellung. Bei Ubuntu und Mandriva Linux sind diese nicht aktiv. Unter Suse Linux 10.0 mit KDE 3.4 ist es zudem noch nicht möglich, die erweiterten Zugriffsrechte in Konqueror einzurichten. Hier müssen Sie die Rechte auf der Konsole mit dem Befehl setfacl einrichten, zum Beispiel

setfacl -m u:anna:rw geheim.txt

um der Benutzerin anna Lese- und Schreibzugriff auf die Datei geheim.txt zu gewähren. Die Rechte einer Datei mit erweiterten Zugriffsrechten zeigt der Befehl getfacl dateiname, zum Beispiel:

marcel@kim:~> getfacl geheim.txt
# file: geheim.txt
# owner: marcel
# group: users
user::rw-
user:anna:rw-
group::r--
mask::rw-
other::r--

Abb. 5: Das Pluszeichen hinter den Dateiberechtigungen deutet auf ACL-Einstellungen hin: Die Datei "geheim.txt" kann demnach auch von anderen Benutzern gelesen/geändert werden.

Klebriges Bisschen

Neben den bisher gezeigten Grundrechten existieren auch einige Sonderrechte. Diese finden Sie im Rechtedialog von Konqueror unter Erweiterte Eigenschaften / Spezialattribut. Schauen Sie sich zum Beispiel die Rechte des Verzeichnisses /tmp in der Textansicht an, zeigt Konqueror als letztes Zeichen kein x an, sondern ein t. Es markiert das so genannte Sticky Bit. Dateien in diesem Ordner können nur vom Eigentümer und vom Systemadministrator gelöscht oder umbenannt werden, auch wenn andere Benutzer Schreibrechte auf das Verzeichnis besitzen. Wenn also bert im Verzeichnis /tmp eine Datei adressen.txt ablegt und diese für alle les- und schreibbar macht, kann zwar anna den Inhalt dieser Datei ändern, sie darf sie aber nicht umbenennen oder löschen. Das Sticky Bit eignet sich deshalb sehr gut für Verzeichnisse, in denen Sie Anderen Schreibrechte geben möchten, aber Ihre Dateien zugleich in Sicherheit wissen möchten.

Um für ein Verzeichnis diese Berechtigung einzustellen, klicken Sie im Dateimanager Konqueror mit der rechten Maustaste auf das Verzeichnis, wählen Eigenschaften / Berechtigungen und kreuzen dann die Option Nur Eigentümer kann den Inhalt des Ordners umbenennen oder löschen an. Die Funktion des Sticky Bits können Sie sich damit merken, dass das Wort auf Deutsch klebrig bedeutet. Dateien bleiben also am Benutzer kleben, solange er diese nicht selbst löscht.

Identitäten behalten

Zwei weitere praktische Einstellungen erlauben das UID- (User ID) und das GID-Bit (Group ID). Setzen Sie bei einem Verzeichnis das UID-Bit, dann bekommt der Besitzer des Ordners automatisch sämtliche Rechte auf sämtliche Dateien und Unterverzeichnisse im diesem Ordner. Legt also anna in einem Verzeichnis von bert eine neue Datei an, kann bert mit ihr nach Belieben schalten und walten. Die ausführliche Textansicht zeigt zwar als Eigentümer zunächst noch anna an, sobald jedoch bert die Datei ändert, gehört sie automatisch ihm. Mit dem GID-Bit lässt sich analog die Gruppenzugehörigkeit für alle neu angelegten Dateien im Voraus bestimmen. Hier wird die Gruppenzugehörigkeit jedoch schon beim Erstellen einer Datei verändert. Das UID-Bit erkennen Sie an der Option s an vierter Stelle, zum Beispiel drwsr-xr-x. Beim GID-Bit ist an siebter Stelle ein s zu sehen, zum Beispiel drwsr-sr-x

Eine Sonderstellung beim UID- und GID-Bit nehmen ausführbare Dateien ein. Ist hier das Bit gesetzt, bedeutet das, dass die Datei beziehungsweise das Programm mit den Berechtigungen des Eigentümers startet. Im Normalfall startet ein Programm immer mit den Rechten des Ausführenden, wie das folgende Beispiel erläutert.

Die Benutzerin anna möchte gerne von bert den Inhalt des Verzeichnisses Geheim sichern lassen. Sie will ihm aber keine Leserechte auf das Verzeichnis geben. Dazu schreibt anna ein kleines KDE-Programm Kbackup. Solange das UID-Bit nicht gesetzt ist, funktioniert zwar die Anwendung bei anna, weil sie ausreichende Berechtigungen aufweist, aber nicht bei bert. Mit dem UID-Bit läuft der Prozess immer mit den Rechten von anna ab. Somit kann auch bert das Backup durchführen. Diesen Mechanismus benutzt zum Beispiel auch das Programm /usr/bin/password, mit dessen Hilfe jeder Benutzer in die Datei /etc/shadow schreiben kann, um sein Passwort zu ändern. Ohne das Programm passwd hat einzig und allein der Systemadministrator Zugriff auf die Datei. Auf normale Shell-Skripte hat das UID-Bit keine Auswirkung: hier verhindert Linux aus Sicherheitsgründen das Ausführen solcher Skripte. (mhi)

Infos
[1] Elisabeth Bauer: "Alles, was recht ist", EasyLinux 09/2003, S. 71.
[2] Dateirechte ändern: http://www.easylinux.de/2003/09/071-guru-chmod/index.html

Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links" nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedruckten Fassung entsprechen.

Druckerfreundliche Version | Feedback zu dieser Seite | Datenschutz | © 2021 COMPUTEC MEDIA GmbH | Last modified: 2008-11-05 17:01

[Linux-Magazin] [LinuxUser] [Linux-Community]