Zugriffsrechte
als Präsentation ▻Die meisten Webserver werden auf UNIX-Systemen betrieben. Das UNIX-Filesystem unterscheidet sich in einigen wichtigen Punkten von den Filesystemen von Windows (und Mac OS X), die sie vielleicht besser kennen.
▻Informationen über Zugriffsrechte anzeigen
Wie bereits gezeigt führen die Option -l und -a beim Befehl ls dazu, dass mehr Informationen angezeigt werden, insbesondere auch die Zugriffsrechte:
Shell Code Dateien und Ordner auflisten inklusive geheimer Dateien
bash-3.2$ ls -la total 12 drwxr-xr-x 14 bjelline staff 476 Mär 2 09:29 . drwxr-xr-x+ 232 bjelline staff 7888 Mär 2 09:29 .. -rw------- 1 bjelline staff 3 Mär 2 09:19 .CFUserTextEncoding -rw------- 1 bjelline staff 11 Mär 2 09:28 .bash_history -rw------- 1 bjelline staff 80 Mär 2 09:29 .bash_profile drwx------ 2 bjelline staff 68 Mär 1 20:21 Desktop drwx------ 2 bjelline staff 68 Mär 1 20:21 Documents drwx------ 2 bjelline staff 68 Mär 1 20:21 Downloads drwx------ 2 bjelline staff 68 Mär 1 20:21 Dropbox drwx------ 2 bjelline staff 68 Mär 1 20:21 Library drwx------ 2 bjelline staff 68 Mär 1 20:21 Movies drwx------ 2 bjelline staff 68 Mär 1 20:21 Music drwx------ 2 bjelline staff 68 Mär 1 20:21 Pictures drwxr-xr-x 2 bjelline staff 68 Mär 2 09:18 Public
Das erste Zeichen zeigt an ob es sich um eine Datei (“-“) oder einen Ordner (“d”) handelt. Hier sind es viele Ordner und drei Dateien. Danach folgen Informationen über Zugriffsrechte, und das Datum der letzten Änderung.
▻UNIX Datei-Zugriffsrechte
Die nächste Abbildung zeigt links die Darstellung der Zugriffsrechte in der Shell, rechts das Verändern der Zugriffsrechte mit einer grafischen Oberfläche (hier am Beispiel von Dreamweaver).
Es gibt drei Rechte (Lesen, Schreiben, Ausführen) und drei Gruppen von Usern die unterschieden werden (Eigentümer, Gruppe, Andere).
Die drei Rechte werden als 3 Bits gespeichert und mit den Zeichen r
, w
, x
und -
dargestellt:
r
steht immer an erster Stelle, und steht für Lesen, w
steht immer an zweiter
Stelle und steht für Schreiben, x
an dritter Stelle steht für Ausführen.
Ein -
in der jeweiligen Position zeigt an, dass ein Recht nicht vergeben ist.
Für jedes Objekt im Filesystem (egal ob Datei, Ordner, Link, ..) gilt: Das Objekt ist einem Account zugeordnet (“Eigentümer” oder “owner” genannt) und einer Gruppe. In der Abbildung haben die Userin “bjelline” als Besitzerin und die Gruppe “apache” besondere Zugriffsrechte.
- “r” oder “-“ steht für das “read”-Recht: darf ich diese Datei lesen?
- “w” oder “-“ steht für das “write”-Recht: darf ich diese Datei ändern? löschen? eine Datei in diesem Ordner anlegen?
- “x” oder “-“ steht für das “execute”-Recht: ** bei einer Datei: darf ich diese Datei als Programm ausführen? ** bei einem Ordner: darf ich in diesen Ordner hinein?
In der Abbildung hat die Userin “bjelline” die Rechte die Datei calender.dat zu lesen und zu verändern. Alle anderen User (egal ob in der Gruppe “apache” oder nicht) haben nur das Recht zu lesen. “bjelline” und alle User in der Gruppe “apache” haben das Recht im Ordner cl_file Dateien anzulegen oder zu löschen. Alle anderen User dürfen in den Ordner wechseln und die Dateien auflisten, aber keine neuen Dateien anlegen.
▻Zugriffsrechte setzen mit chmod
bash-3.2$ ls -la public_html/index.html -rw------- 1 bjelline bjelline 20 Nov 6 2012 public_html/index.html bash-3.2$ chmod go+r public_html/index.html bash-3.2$ ls -la public_html/index.html -rw-r--r-- 1 bjelline bjelline 20 Nov 6 2012 public_html/index.html
bash-3.2$ chmod 644 public_html/index.html