Mit dem Befehl chmod -R 755 ./*
können die Rechte von allen Dateien und Verzeichnissen im aktuellen und allen Unterverzeichnissen gesetzt werden.
Möchten wir nun jedoch die Rechte nur von Dateien oder nur von Verzeichnissen setzen hilft uns das Programm find
weiter.
Im Folgenden zwei kleine Beispiele dazu.
Rechte nur bei Dateien setzen
1 | find ./* -type f -exec chmod 644 {} \; |
Rechte nur bei Verzeichnissen setzen
1 | find ./* -type d -exec chmod 755 {} \; |
Verwendung von “xargs”
Bei Datei- oder Verzeichnisnamen, die Leerzeichen, Anführungszeichen oder Backslashs enthalten, kann es zu Fehlern kommen. Um dies zu vermeiden ist zusätzlich die Verwendung von xargs
zu empfehlen:
1 | find ./* -type f -print0 | xargs -0 chmod 644 |
Der Parameter -print0
bei bewirkt, dass find
jedes gefundene Element mit einem Nullbyte abschließt. Dieses Nullbyte wird von xargs
durch den Parameter -0
verwendet um die Eingaben zu trennen und richtig an chmod
weiterzugeben.
Siehe auch
Für weitere Informationen zu den einzelnen Programmen siehe:
1 | man chmod |