Skip to main content

Das Unix Rechtesystem

1 Wo hast du denn die Zahlen her? Ich meine, was bedeuten sie?

r = 4
w = 2
x = 1

r hat den Wert 4, w hat den Wert 2 und x hat den Wert 1.

Damit kannst Du alle Kombinationen aus r, w und x als eine Zahl zwischen 0 und 7 ausdrücken:

---     0
--x     1
-w-     2
-wx     3       ( = 2 + 1 )
r--     4
r-x     5       ( = 4 + 1 )
rw-     6       ( = 4 + 2 )
rwx     7       ( = 4 + 2 + 1)

rwx|rwx|rwx
Besitzer|Gruppe|Rest der Welt

2 Die "666" kann ich mir nicht erklären!

Die Permissions für jeden dieser drei Abschnitte kannst Du auch als eine Zahl von 0 bis 7 ausdrücken. Die Gesamtpermission also als eine dreistellige Zahl mit Ziffern zwischen 0 und 7.

Üblich sind:

644     rw-r--r--       ==> Besitzer darf lesen+schreiben, Rest nur Lesen.
600     rw-------       ==> Besitzer darf lesen+schreiben, Rest darf nix.
640     rw-r-----       ==> Besitzer darf lesen+schreiben, Gruppe lesen,
                                Rest darf nix.

Bei "chmod" kannst einzelne Permissions ändern:

chmod g+w  file.ext

g+w     Schreiberlaubnis für Gruppe setzen
o-w     Schreiberlaubnis für Rest der Welt löschen
u+w     Schreiberlaubnis für Besitzer setzen
go+x    Ausführerlaubnis für Gruppe und Rest der Welt setzen
u+rwx   Alle Erlaubnisse für Besitzer setzen.

oder halt alle auf einmal.

Danke für die Erklärungen zur "chmod-Mathematik" :-) an den externer Link Wolf

Und zum Schluss noch ein seehr nützliches Helferlein zum Setzen von Rechten unter Unix, der Dateirechtesetzer: externer Link www.gesamtschule-eiserfeld.de/gee/intranet/selfhtml/helferlein/chmod.htm

3 chmod

3.1 Verzeichnis vor Auflistungszugriffen schützen

Verzeichnis schützen, wenn dort keine index.html oder index.htm o.ä. vorhanden

chmod 711 verzeichnis

Der Inhalt eines Verzeichnisses, wie z.B. eines Bilderverzeichnisses, kann von außen nicht mehr aufgelistet werden. Sehr nützlich im Web!

3.2 Verzeichnis lesbar, benutzbar und für Webserver veränderbar machen

Ändert Zugriffsrechte auf Dateien und Verzeichnisse

chmod 777 -R verzeichnis

Wird besonders für Webprojekte oft benötigt. Das Verzeichnis wird lesbar und benutzbar für die Welt, und der Webserver kann dort reinschreiben.

find . -type d | xargs chmod 777
find . -type f | xargs chmod 666

Damit setzt Du alle Verzeichnisse und alle Files auf Welt-schreibbar.

3.3 Script auf Server ausführbar machen

Ändert Zugriffsrechte und macht z.B. ein CGI-Script ausführbar

chmod 755 gaestebuch.cgi

Das entsprechende Script wird ausführbar gemacht und kann auf einem Server benutzt werden.