Ändern der Zugriffsrechte

Zum Ändern der Zugriffsrechte steht das Kommando chmod zur Verfügung:

chmod [options] <mode> <dateiname>

Es existieren zwei Modi zum Ändern der Zugriffsrechte:

1.) Symbolischer Modus

Symbolisch lassen sich die Rechte setzen durch eine Kombination aus der betreffenden Rechtegruppe:

Symbol Rechtegruppe Beschreibung
u user Besitzer einer Datei oder eines Verzeichnisses
g group Gruppe einer Datei oder eines Verzeichnisses
o other andere Benutzer
a all alle

und den entsprechenden Rechten:

Symbol Recht
r Leserecht
w Schreibrecht
x Ausführungsrecht
s s-Bit setzen
t t-Bit setzen
+ Recht(e) hinzufügen
- Recht(e) entfernen
= Genau diese Rechte setzen

Beispiele

1. Setzen der Schreibrechte (w) für alle Benutzer (a) auf die Datei hello:

chmod a+w hello

2. Entzug der Lese- (r) und Schreibrechte (w) für die Gruppe (g) und Hinzufügen des Ausführungsrechtes (x) für den Besitzer (u) der Datei hello:

chmod g-rw,u+x hello


2.) Numerischer Modus

Jede Rechtegruppe wird durch einen numerischen Wert repräsentiert, die Sonderrechte (s,t) werden durch einen eigenen Wert dargestellt. Somit werden dem Kommando chmod maximal vier Werte übergeben (siehe Abbildung). Fehlen Werte, werden diese von links her (!) als Null (keine Rechte) angenommen.

Die numerischen Werte sind wie folgt festgelegt:

r (read) = 4
w (write) = 2
x (execute) = 1

Ziffer Bez. Beschreibung
0 --- keine Berechtigung
1 --x Ausführungsrecht
2 -w- Schreibrecht
3 -wx Schreib- und Ausführungsrecht
4 r-- Leserecht
5 r-x Lese- und Ausführungsrecht
6 rw- Lese- und Schreibrecht
7 rwx Lese-, Schreib- und Ausführungsrecht

Hinweis: 2 und 3 machen nicht viel Sinn, da kein Leserecht vorhanden ist.

Beispiele

1. Setzen der Lese- (4) und Schreibrechte (2) für den Besitzer der Datei "hello", die Gruppe und alle anderen Benutzer:

chmod 666 hello

2. Setzen der Berechtigung der Datei "hello" im Unterverzeichnis /usr/local/bin für den Besitzer auf alle Rechte (7), für die Gruppe auf Lese- (4) und Ausführungsrecht (1) und für alle anderen Benutzer auf Leserecht (4):

chmod 754 /usr/local/bin/hello