Wie kann ich rekursiv schreibgeschützte Berechtigungen festlegen?

Wie kann ich rekursiv schreibgeschützte Berechtigungen festlegen?

Ich habe ein sehr großes und tiefes Verzeichnis. Ich möchte es komplett schreibgeschützt machen. Das Problem ist, dass ich wohl zwischen Dateien (die a=r) und Verzeichnissen (die a=rx) unterscheiden muss.

Wie kann ich das machen?

Antwort1

Ich habe gerade das hier gefunden: chmod a=rXdas löst mein Problem. Vom Mann: (X) execute/search only if the file is a directory or already has execute permission for some user.

Antwort2

  1. chmodakzeptiert den Modus X, der nur xauf Verzeichnisse einstellt.a=X

  2. Sie können die Schreibberechtigung auch einfach entfernen:a-w

Antwort3

Die obigen Vorschläge haben bei mir nicht funktioniert, alle Ordner waren schreibgeschützt.
Ein Kollege hat mir Folgendes gegeben, das funktioniert:

find . -type f -exec chmod a-w {} \;

Antwort4

find somepath \( -type f -exec chmod a=r {} \; \) -o \( -type d -exec chmod a=rx {} \; \)

verwandte Informationen