Die folgenden Befehle dienen dazu, den Eigentümer oder die Benutzergruppe einer Datei oder deren Rechte zu ändern. Die verschiedenen Rechte werden im Kapitel Grundlegende UNIX Konzepte behandelt.
Die Syntax des Befehls chown (engl. CHange OWNer) ist wie folgt:
chown [options] <benutzer[:gruppe]> <datei|verzeichnis> [datei|verzeichnis...] |
chown nobody /shared/book.tex: ändert den Besitzer der Datei /shared/book.tex in nobody.
chown -Rc franz:music *.mid concerts/: setzt das Besitzrecht aller Dateien im aktuellen Verzeichnis mit der Endung .mid und aller Dateien und Unterverzeichnisse des Verzeichnisses concerts/ auf den Benutzer franz und die Gruppe music. Dabei werden nur die veränderten Dateien aufgelistet.
Der Befehl chgrp (engl. CHange GRouP) bewirkt die Änderung des Gruppen-besitzrechts von Dateien; die Syntax ist ähnlich der von chown:
chgrp [options] <gruppe> <datei|verzeichnis> [datei|verzeichnis...] |
Die Optionen für diesen Befehl sind die gleichen wie bei chown und der Befehl wird in gleicher Weise angewendet. So bewirkt z.B. der Befehl
chgrp disk /dev/hd* |
die Änderung des Besitzrechts aller Dateien im Verzeichnis /dev/, deren Namen mit hd beginnt, auf die Gruppe disk.
Der Befehl chmod (engl. CHange MODe) hat eine recht unterschiedliche Syntax. Generell lautet sie:
chmod [options] <Änderungsmodus> <datei|verzeichnis> [datei|verzeichnis...] |
Die Unterschiede liegen dabei in den verschiedenen Änderungsmodi begründet. Diese können auf zwei verschiedene Arten angegeben werden:
in Octalzahlen. Dabei haben die Rechte des Besitzers die Form <x>00, wobei <x> für das jeweilige Recht steht: 4 für Leseberechtigung, 2 für Schreibberechtigung und 1 für das Ausführen der Datei oder des Verzeichnisses. Gleiches gilt für die Rechte der Besitzergruppe mit der Form <x>0 und die Rechte für den Rest der Welt in der Form <x>. Nun müssen Sie nur die zu vergebenden Rechte zusammen addieren. So ergibt z.B. die Rechtefolge rwxr-xr-- auseinander geschrieben 400+200+100 (für den Besitzer, rwx) +40+10 (für dei Gruppe, r-x) +4 (für alle Anderen, r--) = 754. In dieser Art werden die Rechte absolut ausgedrückt, d.h., vorherige Berechtigungen werden bedingungslos ersetzt;
in Ausdrücken. Dabei werden die Ausdrücke in Folge geschrieben und durch Kommata getrennt. Das sieht dann so aus: [kategorie]<+|-|=><berechtigungen>.
Die Kategorie ist eine oder mehrere der Folgenden:
Wenn keine Kategorie angegeben wird gelten die Änderungen für alle Kategorien. Das Zeichen + setzt die Berechtigung, das - hebt sie auf. Die Berechtigung ist eine (oder mehrere) der Folgenden:
Die wichtigsten Optionen sind denen von chown and chgrp recht ähnlich:
chmod -R o-w /shared/docs: deaktiviert rekursiv die Schreibberechtigung für others bei allen Dateien im Verzeichnis /shared/docs/.
chmod -R og-w,o-x private/: deaktiviert rekursiv die Schreibberechtigung für group und others im gesamten Verzeichnis private/ directory und deaktiviert die Ausführrechte für others.
chmod -c 644 misc/file*: ändert die Berechtigungen aller Dateien im Verzeichnis misc/ die mit file beginnen auf rw-r--r-- (d.h., Leseberechtigung für alle uns Schreibberechtigung nur für den Besitzer). Die durch den Befehl betroffenen Dateien werden aufgelistet.