Zugriffsrechte unter Linux
Zielgruppe: Einsteiger 
Zugriffsrechte von Dateien/Verzeichnissen
Linux ist ein Multi-User-Betriebssystem! Das heißt, es können viele Leute (auch gleichzeitig) an einem Rechner arbeiten. Damit nicht jeder Benutzer die Festplatte formatieren oder fremde Dateien löschen kann, gibt es unter Linux sogenannte Zugriffsrechte. Diese Zugriffsrechte werden zum Beispiel beim
Auflisten des Verzeichnisinhaltes mit "ls -l" angezeigt:
drwxr-xr-x 2 martin users 4096 Mar 7 11:18 Verzeichnis
-rw-r--r-- 1 martin users 123 Mar 7 11:19 Datei
-rwxr--r-- 1 martin users 300 Mar 7 11:20 Script
Die ersten 10 Zeichen (naja, eigentlich sind es nur die Zeichen 2 bis 10)
beschreiben die Zugriffsrechte. Der erste "rwx"-Block steht für den Eigentümer der Datei, der zweite für die Gruppe und der dritte Block
für alle anderen. Das "r" steht für read (also Leserechte), das "w" für write (Schreibrechte) und das "x" für executable (Recht, das Programm auszuführen). Vor den drei "rwx"-Blöcken kann noch ein
"d" für Directory (Verzeichnis) oder ein "l" für einen Link (Verknüpfung) stehen. Bei "-rwxr--r--" handelt es sich also um eine Datei, die jeder Lesen kann, aber nur der Eigentümer schreiben und ausführen darf. "drwxr-xr-x" bedeutet, dass es ein Verzeichnis ist, welches jeder Benutzer einsehen, aber nicht löschen darf (nur der Eigentümer). Wenn root möchte, dass seine Programme ("/sbin") auch von normalen Benutzern ausgeführt werden dürfen, dann setzt er das sogenannte Suid-Bit der Rechte. Das erkennt man daran, dass es sich nicht um einen "r-x"-Block handelt, sondern um einen "r-s"-Block.
Ändern der Zugriffsrechte
Wenn du nicht möchtest, dass andere Benutzer deiner Gruppe deine Dateien oder Verzeichnisse nicht einsehen dürfen oder du jemandem Dateien zugänglich machen möchtest, dann musst du die oben beschriebenen
Rechte ändern. Dazu gibt es den Befehl chmod und die Abkürzungen "u" für user (Benutzer), "g" für group (Gruppe), "o" für other (andere) und "a" für all (alles). Zusammen mit den Operationszeichen "+" für Hinzufügen, "-" für Entfernen und "=" für ausschließliches Setzen und obigem Wissen über die Rechte read, write, execute (rwx) kannst du dich nun ans Werk machen und etwas mit den Rechten herumexperimentieren. Aber Achtung: Schließ dich nicht selbst aus, indem du dir die Leserechte für eine Datei entfernst. Zur Not lässt es sich jedoch als Benutzer root
alles wieder restaurieren... :-)
Nehmen wir an, du möchtest anderen Benutzern deiner Gruppe auch ein Schreibrecht zuteilen, dann gib folgendes ein:
chmod g+w Datei
Zum Entfernen des Schreibrechts genügt dann
chmod g-w Datei
Wenn du nun beispielsweise allen Benutzern, die nicht in deiner
Gruppe sind, alle Rechte nehmen möchtest, dann müsstest du folgenden Befehl verwenden:
chmod o= datei.txt
Ändern des Eigentümers
Den Besitzer oder die Gruppe einer Datei kann nur der Systemverwalter root ändern. Mit dem Befehl "su" wechselst
du im laufenden Betrieb deine Identität - vorausgesetzt du kennst das Kennwort von root.
Zum Ändern von Besitzer/Gruppe, verwendest du die Befehle chown
(change owner => Besitzer ändern) und chgrp (change group => Gruppe ändern). Mit
chown root Datei
weist du der Datei "Datei" root als neuen Inhaber zu. Mit
chgrp root Datei
legst du fest, dass die "Datei" einem Benutzer in der Gruppe
"root" gehört. Mit
chown root:root Datei
können beide Befehle in einem Schritt durchgeführt werden.
Versteckte Dateien unter Linux
Hast du dich auch schon gefragt, wie man unter Linux Dateien verstecken kann?
Nun, das funktioniert etwas anders als unter DOS, denn unter Linux sind alle Dateien mit einem führenden Punkt automatisch versteckt (z. B. /root/.bash_history). Wenn also eine Datei nachträglich als versteckt markiert werden soll, so benennt man sie einfach um:
mv Datei .Datei
|