Zugriffsrechte ändern

Aus Joachim Schuster Wiki
Wechseln zu: Navigation, Suche

Zugriffsrechte auf Dateien und Verzeichnissen kann man mit dem Kommando chmod erledigen. Als Parameter übergibt man dem Befehl eine Zahlenkombination, die Aufschluss über die Rechte des Besitzers, der Gruppe und Sonstiger Personen gibt.

Dabei Wird folgendes Schema eingehalten:

4 -> lesen
2 -> schreiben
1 -> ausführen

Zählt man die Zahlen zusammen, so kann man beliebige Kombinationen erreichen, z.B. 5 = 4 (lesen) + 1 (ausführen), heißt, die Datei kann nicht mehr verändert (geschrieben).

chmod 755 Dateiname

Ergibt also, dass Dateiname für den Besitzer les-,schreib-,ausführbar ist, für die Gruppe und restliche Personen nicht schreibbar.

Will man Dateien nicht ausführbar machen - normale Dateien müssen nicht ausführbar sein - so kann man

chmod 644 Dateiname

verwenden.

Will man das auf einen ganzen Verzeichnisbaum anwenden, so gibt es ein Probem. Verzeichnisse müssen ausführbar sein, um den Inhalt anzuzeigen. D.h. macht man ein Verzeichnis nicht ausführbar, so sind die darin enthaltenen Dateien und Verzeichnisse nicht erreichbar. Um das zu umgehen muss man (wenn nicht sowieso schon geschehen) den Verzeichnisbaum samt Inhalt ausführbar machen:

chmod -R 755 verzeichnis

Anschließend muss man noch sämtlichen Dateien des Verzeichnisbaums mit

find verzeichnis/ -type f -exec chmod 644 \{\} \;

die Ausführbarkeit entziehen. Find arbeitet automatisch rekursiv, sodass alle Unterverzeichnisse mit eingeschlossen sind.

Links

LinuxUser Magazin - Gleiches Recht für alle?

Unix-Befehle für Anfänger