Da wir nun verstehen, wie Datei-Berechtigungen unter Unix funktionieren, setzen wir das ganze in die Praxis um.

Mit dem Befehl chmod (change mode) können wir die Dateiberechtigungen anpassen. Dies ist auf mehrere Arten möglich und wird am Besten mit mehreren Beispielen erläutert:

andy@thinkpink:/tmp/test$ l
total 8
drwxr-xr-x 2 andy andy 4096 2007-07-01 16:47 dir1
drwxr-xr-x 2 andy andy 4096 2007-07-01 16:47 dir2
-rw-r--r-- 1 andy andy 0 2007-07-01 16:47 file1
-rw-r--r-- 1 andy andy 0 2007-07-01 16:47 file2
-rw-r--r-- 1 andy andy 0 2007-07-01 16:47 file3


andy@thinkpink:/tmp/test$ chmod 600 file1

Dieser Befehl hat die Berechtigung wie folgt geändert:

-rw------- 1 andy andy 0 2007-07-01 16:47 file1

Was hat es mit den seltsamen Zahlen auf sich? Das ist ganz einfach und wird an einem weiteren Beispiel erläutert:

Jedes Dreiergrüppchen „rwx“ ist einem Zahlenwert von 0 bis 7 zugeordnet. Die erste Ziffer dieses Dreiergrüppchen, das „r“, hat den Wert 4. Die zweite Ziffer „w“ hat den Wert 2 und die dritte Ziffer „x“ den Wert 1.

Eigentümer:

r--
-w-
--x

Wenn man jetzt diese Werte zusammenzählt, bekommt man 7.

Gruppe:

r--
---
--x

Und diese Werte geben 5.

Everyone/Rest/World:

---
---
---

Resultat ergibt 0, da kein r, w oder x gesetzt ist.

Alles klar?

Und da wir jetzt eben 3 Dreiergrüppchen haben, werden diese 3 Ergebnisse einfach hintereinander gehängt:

750

Wenn wir jetzt ein

chmod 750 file2

machen, passiert das:

-rwxr-x--- 1 andy andy 0 2007-07-01 16:47 file2

Beim Eigentümer sind die Flags r, w und x gesetzt. Die Gruppe hat das r und x Flag und der Rest hat keinen Zugriff.

Mit chmod kann man auch anders arbeiten:

chmod u+rwx file3

file3 hat nun zusätzlich das x Flag gesetzt.

chmod o-rwx file3

Die World-Berechtigungen von file3 wurden komplett entfernt.

chmod g+w file3

Der Gruppe wird Schreibberechtigung auf file3 erteilt.

chmod o-rwx dir2

Dem Rest wird die Berechtigung auf das Verzeichnis dir2 entzogen.

chmod o=x dir1
drwxr-x--x 2 andy andy 4096 2007-07-01 16:47 dir1

Für Everyone ist nur noch das x-Flag gesetzt.

« »