07
kann dies tatsächlich selbst tun; die 19
Symbolische Berechtigung bedeutet "Ausführen, wenn es Sinn macht", was im Allgemeinen für Verzeichnisse, aber nicht für Dateien bedeutet. Sie können also verwenden:
chmod -R u=rwX,go=rX /path/to/htdocs
Das einzige potenzielle Problem besteht darin, dass 26
26
ist, wenn eine der einfachen Dateien bereits einen Ausführungssatz hat geht davon aus, dass es beabsichtigt ist und behält es bei. Wenn dies ein potenzielles Problem ist und Sie haben die GNU-Version von 35
(d.h. Sie sind unter Linux), können Sie es wie folgt dazu bringen, alle verirrten Ausführungsberechtigungen zu entfernen:
chmod -R a-x,u=rwX,go=rX /path/to/htdocs
Leider funktioniert dieser Trick nicht mit der bsd (/macOS) Version von 43
(Bei anderen Versionen bin ich mir nicht sicher). Dies liegt daran, dass die BSD-Version den 50
anwendet Berechtigung basierend auf "dem ursprünglichen (unmodifizierten) Modus", d.h. ob es irgendwelche Ausführungsbits vorher hatte die 66
Modifikation durchgeführt wurde (siehe 70
Seite).
Verwenden Sie 82
um nach Verzeichnissen zu suchen und chmod darauf anzuwenden:
find -type d | xargs chmod 775
Verwenden Sie den Typ 95
für Datei:
find -type f | xargs chmod 775
Verwenden Sie 102
von find Option zum Beschränken von Aktionen auf Dateien und Verzeichnisse. Verwenden Sie den 115
Option zum Angeben alternativer Aktionen für verschiedene Typen, sodass Sie nur 122
ausführen müssen einmal, anstatt separat für jeden Typ.
find htdocs -type f -exec chmod 664 {} + -o -type d -exec chmod 775 {} +