Linux-Server

Dateirechte auf Servern schneller setzen

Dienstag den 29.11.2011 um 10:34 Uhr

von Stephan Mayer

Zwei einfache Skripte helfen bei den Dateirechten.
Vergrößern Zwei einfache Skripte helfen bei den Dateirechten.
© Polylooks
Mit einem Linux-Server kennt man das Problem: Das Ändern der Zugriffsrechte eines Verzeichnisbaumes artet oft in Kleinstarbeit aus. Wir zeigen, wie's schneller geht.
Das kann mit Bordmitteln zum Geduldspiel werden. Denn Sie müssen dann in jedem Verzeichnis die Berechtigungen für Dateien einzeln setzen. Das können Sie sich mit zwei kleinen Skriptdateien erleichtern. Das erste Skript erledigt diese Aufgabe, das zweite verändert nur die Zugriffsberechtigungen für Verzeichnisse.

Öffnen Sie Ihr Textprogramm, und tippen Sie dieses zweizeilige Skript ein:
#!/bin/sh
find $1 -type f -exec chmod $2 {} \;
Speichern Sie die Datei dann unter dem Namen rekursiv-files-chmod.sh.

Für das zweite Skript gehen Sie genauso vor, nur lautet hier die zweite Zeile
find $1 -type d -exec chmod $2 {} \;
und der Dateiname rekursiv-dir-chmod.sh. Beide Dateien speichern Sie am besten in Ihrem Home-Verzeichnis im Unterverzeichnis „bin“ und machen sie mit dem Befehl chmod 750 bin/rekurs* ausführbar.


Der Aufruf der beiden Skripts erfolgt nach dem Schema „Befehl Verzeichnis Berechtigung“. Dieser setzt im angegebenen Verzeichnis die Berechtigungen in drei oder vier 4 Stellen. Ein Beispiel zur Verdeutlichung: refursiv-file-chmod . 0644. Der Zahlenblock „644“ definiert die Zugriffsrechte auf das entsprechende Objekt. Dabei steht die erste Ziffer für die Berechtigung des aktuellen Benutzers, die zweite für die Benutzer der aktuellen Gruppe und die dritte für weitere Benutzer.

Mit der Zahl 4 erteilen Sie jeweils das Leserecht, mit der Zahl 2 das Schreibrecht, und mit der Zahl 1 das Recht die Datei auszuführen beziehungsweise den Ordner zu öffnen. Diese Zahlen können jeweils aufsummiert werden, um mehrere Berechtigungen zu erteilen. So ist etwa 6=4+2 an der ersten Position. Das bedeutet, das der aktuelle Benutzer Lese- und Schreibrechte bekommt, aber kein Ausführrecht.

Dienstag den 29.11.2011 um 10:34 Uhr

von Stephan Mayer

Kommentieren Kommentare zu diesem Artikel (1)
  • kukiduck 13:36 | 29.11.2011

    Warum einfach, wenn ...

    chmod -R ug=+r+w+X,o=+r+X /das/verzeichnis/

    das setzt die Rechte auf 775 für Verzeichnisse und 664 für Dateien.

    Man beachte das große X

    Antwort schreiben
1154086