Dateiattribute

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.

chown, chgrp: Ändern der Besitzrechte einer oder mehrerer Dateien

Die Syntax des Befehls chown (engl. CHange OWNer) ist wie folgt:

chown [options] <benutzer[:gruppe]> <datei|verzeichnis> [datei|verzeichnis...]

Die Optionen:

  • -R: rekursiv. Zum Ändern der Besitzer aller Dateien und Unterverzeichnisse in einem Verzeichnis.

  • -v: verboser Modus. Listet alle Aktionen von chown; listet, welche Dateien infolge des Befehls den Besitzer gewechselt haben und welche unverändert geblieben sind.

  • -c: wie -v, listet aber nur die veränderten Dateien auf.

Einige Beispiele:

  • 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.

chmod: Änderung von Zugriffsrechten bei Dateien und Verzeichnissen

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:

  1. 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;

  2. 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:

    • u (User, Berechtigungen des Besitzers);

    • g (Group, Berechtigungen der besitzenden Gruppe);

    • o (Others, Berechtigungen für „Andere“).

    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:

    • r (Read): Lesen;

    • w (Write): Schreiben;

    • x (eXecute): Ausführen.

Die wichtigsten Optionen sind denen von chown and chgrp recht ähnlich:

  • -R: ändert die Rechte rekursiv.

  • -v: verboser Modus. Listet die Ergebnisse des Befehls für jede Datei.

  • -c: wie -v, listet aber nur alle vom Befehl betroffenen Dateien.

Beispiele:

  • 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.