chown - Eigentümer ändern
Zum Ausführen des chown Befehls ("change owner") müssen Sie sich als User root anmelden. Damit können Sie den Eigentümer von Dateien und Verzeichnissen sowie die Gruppenzugehörigkeit ändern. Die Syntax ist einfach und auch hier funktioniert das rekursive Verfahren wieder mit der Option -R. Wir nehmen an, Sie haben sich in /usr/local/ das Verzeichnis clemensdata angelegt, daß sie als normaler User benutzen wollen, nicht als root. Da sie dieses Verzeichnis aber als root anlegen mußten, weil Sie als normaler User in /usr/local lediglich Leserechte hatten, gehört dieses Verzeichnis erst einmal dem User root in der Gruppe root. Damit es dem User clemens aus der Gruppe benutzer zugewiesen wird, geben Sie folgenden Befehl ein:
chown clemens.benutzer /usr/local/clemensdata
oder alternativ
chown clemens:benutzer /usr/local/clemensdata
chmod - Rechte ändern
Der Befehl chmod ("change mode") ändert die Rechte an Dateien und Verzeichnissen. Hierzu sollte man als Umsteiger von Windows etwas über Unix-Rechte wissen. Wie oben erwähnt, gehört jede Datei und jedes Verzeichnis einem Besitzer und dieser wiederum zu einer Gruppe. Rechte können nun für den Besitzer, für die Gruppe und für den Rest der Welt separat gesetzt werden. Jedes Objekt kann für diese drei (Besitzer, Gruppe und Rest) lesbar, beschreibbar und ausführbar sein. Hier kommt nun die etwas kryptische Buchstabenfolge als der ls -l-Ausgabe ins Spiel, die schon gezeigt wurde. Legen Sie in Ihrem Homeverzeichnis einfach das Unterverzeichnis bilder mit mkdir bilder an. Dann lassen Sie sich mit ls -l den Inhalt anzeigen. Die Ausgabezeile für das Verzeichnis sieht dann etwa so aus:
drwxr-xr-x 2 clemens benutzer 35 Jul 18 16:00 bilder/
Betrachten wir nun die Buchstabenfolge am Anfang. Der erste Buchstabe besagt, daß es sich um ein Verzeichnis handelt (d = directory). Dann folgen die entscheidenden neun Buchstaben, die die Rechte anzeigen. Die ersten drei stehen für den Besitzer, die nächsten drei für die Gruppe und die letzten drei für den Rest der Welt. r bedeutet lesbar, w beschreibbar und x heißt ausführbar. Ausführbar müssen Programmdateien und Verzeichnisse sein. Die Folge rwxr-xr-x heißt also, daß clemens als Besitzer das Verzeichnis lesen, beschreiben und ausführen darf. Alle anderen (die Gruppe und der Rest) dürfen lesen und ausführen. Ausführen bedeutet bei Verzeichnissen, daß man in sie wechseln darf. Das Setzen der Rechte geschieht auf zwei verschiedene Weisen: Mit Symbolen für die verschiedenen Benutzer und die verschiedenen Rechte oder mit einer sogenannten Oktalzahl.
Symbole: Für "User", "Gruppe" und "Alle" stehen die Symbole u, g und a, für die Rechte r (read), w (write) und x (executable). Setzen und Löschen von Rechten geschieht mit Plus (+) und Minus (-). Soll die Datei clemens.php für alle lesbar werden, lautet das Kommando:
chmod a+r clemens.php
Zu beachten ist, daß das Setzen von Rechten für alle (a) das jeweilige Attribut sowohl für a, als auch u und g setzt, also an allen drei Positionen, das Setzen von Rechten für u oder für g aber jeweils nur an der ersten bzw. zweiten Stelle das Attribut setzt. Beim Setzen von Rechten für a kann im Befehl das a auch weggelassen werden. Es reicht also:
chmod +r clemens.php
Oktalzahl: Dieses Verfahren ist etwas eleganter, weil man alle Rechte für alle drei Gruppen gleichzeitig setzen kann. Man benutzt chmod mit einer dreistelligen Zahl, von der die erste Stelle für den User (u) steht, die zweite für die Gruppe (g) und die dritte für alle (a). Das Attribut "lesen" hat die Zahl 4, "schreiben" die Zahl 2 und "ausführen" die Zahl 1. Beim Setzen mehrerer Rechte werden die jeweiligen Zahlen an der jeweiligen Position addiert. Als Beispiel wollen wir für die Datei clemens.php folgende Rechte setzen: Der User soll lesen, schreiben und ausführen dürfen, die Gruppe soll lesen und ausführen dürfen und der Rest soll nur lesen dürfen. Beim User werden also 4, 2 und 1 addiert, bei der Gruppe die 4 (für lesen) und die 1 (für ausführen) und der Rest erhält lediglich die 4 für lesen. Der Befehl lautet demnach:
chmod 754 clemens.php
Dieser Befehl setzt oder holt die Standard-Berechtigungsmaske beim Anlegen von Dateien und Ordnern.
In diversen Konfigurationsdateien beispielsweise von FTP-Servern werden die Berechtigungen im umask Schema verlangt. Auch beim Mounten mittels fstab benötigt man das Berechtigungsschema im umask-tauglichen Format.
Der umask Befehl funktioniert sehr ähnlich dem chmod Befehl, nur die Ziffern haben unterschiedliche Bedeutung. Auch beim Befehl umask haben wir eine 3-stellige Ziffernkombination. Die erste Stelle bedeutet 'Eigentümer', die zweite Stelle bedeutet 'Gruppe' und die dritte Stelle bedeutet wiederum 'World', also jeder.
Hier die Aufstellung der Ziffern und ihre Bedeutung:
0 bedeutet 'rwx'
1 bedeutet 'rw-'
2 bedeutet 'r-x'
3 bedeutet 'r--'
4 bedeutet '-wx'
5 bedeutet'-w-'
6 bedeutet '--x'
7 bedeutet '---'
Beispiel:
umask 021
Dieser Befehl setzt das Standard-Berechtigungsschema des Dateisystems so, dass der Eigentümer die Rechte 'Read-Write-Execute' hat, die Gruppe die Rechte 'Read-Execute' und jeder die Rechte 'Read-Write'.