Solaris Handbuch für Fortgeschrittene Benutzer

3.7.4 Absolute Zugriffsrechte vergeben

In den bisherigen Beispielen wurden Zugriffsrechte relativ zu den aktuell geltenden Einstellungen geändert. Sie können Zugriffsrechte mit chmod jedoch auch ändern, ohne die aktuellen Einstellungen zu kennen. Bei der Vergabe solcher absoluter Zugriffsrechte werden Benutzerkategorie und Zugriffsberechtigung nicht durch Buchstabenkürzel, sondern durch einen Zahlencode angegeben.

Die Befehlssyntax lautet in diesem Fall:

chmod numcode name

numcode steht für den Berechtigungscode und name für den Namen der Datei oder des Verzeichnisses, deren/dessen Zugriffsrechte geändert werden sollen.

Der Berechtigungscode besteht aus je einer Zahl für die drei Benutzerkategorien. Mit dem folgenden Befehl erhalten der Eigentümer des Verzeichnisses orange und seine Gruppe Lese-, Schreib- und Ausführberechtigung, alle anderen Benutzer dagegen nur Ausführberechtigung:

$ chmod 771 orange

Tabelle 3-1 zeigt, aus welchen Elementen sich der Berechtigungscode 771 zusammensetzt.

Tabelle 3-1 Zugriffsrechte für orange

Berechtigung 

Eigentümer 

Gruppe 

Andere 

Lesen 

Schreiben 

Ausführen 

Gesamt 

Jede Spalte in Tabelle 3-1repräsentiert eine Benutzerkategorie. Jeder Berechtigungsart ist ein bestimmter Wert zugeordnet: 4 für Leseberechtigung, 2 für Schreibberechtigung und 1 für Ausführberechtigung. Die Summe der ersten, zweiten und dritten Spalte entspricht der ersten, zweiten und dritten Ziffer des Berechtigungscodes.

Hier ein weiteres Beispiel für die Vergabe von absoluten Zugriffsrechten, bei dem die Ergebnisse mit dem Befehl ls -l geprüft werden:

$ ls -l zitrone

-rw-r--r--  3 user2           1024 Feb 10 11:46 zitrone

$ chmod 755 zitrone

$ ls -l zitrone

-rwxr-xr-x  3 user2           1024 Feb 10 11:48 zitrone

$

Für die Datei zitrone gelten also folgende Zugriffsrechte: der Eigentümer kann sie lesen, schreiben und ausführen, während die Gruppe und alle anderen Benutzer nur Lese- und Ausführberechtigung haben. Tabelle 3-2 zeigt, wie der Berechtigungscode ermittelt wird.

Tabelle 3-2 Zugriffsrechte für zitrone

Berechtigung 

Eigentümer 

Gruppe 

Andere 

Lesen 

Schreiben 

Ausführen 

Gesamt 

Um als Eigentümer der Datei kirsche sich selbst, der Gruppe und allen anderen Benutzern Lese-, Schreib- und Ausführberechtigung zu erteilen, würden Sie also folgendes eingeben:

$ ls -l kirsche

-rw-r--r--  3 user2           1024 Feb 10 11:51 kirsche

$ chmod 777 kirsche

$ ls -l kirsche

-rwxrwxrwx  3 user2           1024 Feb 10 11:53 kirsche

$

Tabelle 3-3 zeigt, wie dieser Code zustandekommt:

Tabelle 3-3 Zugriffsrechte für kirsche

Berechtigung 

Eigentümer 

Gruppe 

Andere 

Lesen 

Schreiben 

Ausführen 

Gesamt 

Der Code 777 entspricht also der maximalen Anzahl Berechtigungen, die Sie für eine Datei oder ein Verzeichnis vergeben können.

Auch bei dieser Methode können Sie mit dem Metazeichen * Zugriffsrechte für alle Dateien des aktuellen Verzeichnisses definieren. Im folgenden Beispiel vergibt der Eigentümer des Verzeichnisses obst an sich selbst Lese-, Schreib- und Ausführberechtigung für alle darin enthaltenen Dateien, seine Gruppe erhält Lese- und Ausführberechtigung und alle anderen Benutzer lediglich Ausführberechtigung:

$ pwd

/home/user2/obst

$ ls -l

-rwxrwxrwx  3 user2          21032 Feb 12 10:31 kirsche

-rwxrwxrwx  2 user2             68 Feb 10 11:09 erdbeere

-rwxrwxrwx  3 user2          12675 Feb 08 09:31 orange

-rwxrwxrwx  1 user2           1024 Feb 14 16:38 zitrone

$ chmod 751 *

$ ls -l

-rwxr-x--x  3 user2          21032 Feb 12 10:31 kirsche

-rwxr-x--x  2 user2             68 Feb 10 11:09 erdbeere

-rwxr-x--x  3 user2          12675 Feb 08 09:31 orange

-rwxr-x--x  1 user2           1024 Feb 14 16:38 zitrone

$

Mit dem Befehl pwd wird zu Beginn geprüft, ob obst tatsächlich aktuelles Verzeichnis ist. Der Befehl ls -l wird hier, wie auch in den vorhergehenden Beispielen, nur verwendet, um das Ergebnis der Änderung zu verdeutlichen.

Weitere Informationen zu chmod(1) siehe man Pages(1): User Commands.