Führen Sie Chmod separat für Dateien und Verzeichnisse aus
Wenn Sie ein Linux-Benutzer sind, haben Sie wahrscheinlich von der Konsolen-App gehört chmod. Es ist ein nützliches Werkzeug, das es ermöglicht, Dateisystemberechtigungen mithilfe einer Terminalsitzung oder eines Terminalemulators zu ändern. Wenn Sie es ausführen, werden die Berechtigungen, die Sie für Dateien und Verzeichnisse angeben, gleichzeitig geändert. Möglicherweise müssen Sie jedoch die Dateiberechtigungen getrennt von den Verzeichnisberechtigungen ändern und umgekehrt. Hier ist, wie es gemacht werden kann.
Es gibt mehrere Möglichkeiten, aber meine bevorzugte und zuverlässigste Methode ist die Kombination von chmod mit xrags und finden Werkzeuge. Der folgende Befehl ändert nur die Berechtigungen für Dateien.
find /path/to/location -type f -print0|xargs -0 chmod 644
Hier das finden Der Befehl listet alle Dateien am angegebenen Speicherort auf. Der Schalter -type f weist ihn an, nur Dateien aufzulisten und Verzeichnisse auszuschließen. Der Schalter -print0 ermöglicht es, Dateinamen so zu verarbeiten, dass Datei- oder Verzeichnisnamen mit Leerzeichen oder Zeilenumbrüchen korrekt behandelt werden.
Ein ähnlicher geeigneter Befehl kann auch für Verzeichnisse verwendet werden. Der einzige Teil, den Sie ändern müssen, ist -type f in -type d:
find /path/to/location -type d -print0 |xargs -0 chmod 755
Tipp: Mit diesem Trick können Sie Zeit sparen und weniger tippen.
- Wenden Sie zunächst Dateisystemberechtigungen auf Dateien und Ordner an, indem Sie chmod im rekursiven Modus ausführen:
chmod -R 644 /Pfad/zu/Standort
Es wendet rw-r-r-Berechtigungen auf alle Dateien und Ordner am angegebenen Speicherort an.
- Führen Sie als nächstes den Befehl nur für Verzeichnisse aus:
find /path/to/location -type d -print0 |xargs -0 chmod 755
Das ist es.