Ich habe ein Archiv, das von einer anderen Person archiviert wird, und ich möchte nach dem Herunterladen automatisch einen Zweig des Dateisystems in den extrahierten Dateien ändern, um Lesezugriff zu erhalten. (Ich kann nicht ändern, wie das Archiv erstellt wird).
Ich habe mir diesen Thread angesehen: chmod: Wie man rekursiv Ausführungsberechtigungen nur zu Dateien hinzufügt, die bereits Ausführungsberechtigungen haben, wie in einigen anderen, aber keine Freude.
Die Verzeichnisse enthalten ursprünglich mehrere, aber alle falschen Flags. Sie können wie folgt aussehen:
drwx------
d---r-x---
drwxrwxr-x
dr--r-xr--
Dies sind nur die wenigen, die ich bisher entdeckt habe, aber es könnte auch mehr sein.
find
Fehler, wenn versucht wird, ein Verzeichnis ohne x
Berechtigung zu durchsuchen, und es daher nicht weitergibt chmod
. Was ich bisher getan habe, ist, die Berechtigungen für das übergeordnete Verzeichnis manuell zu ändern, dann in die untergeordneten Verzeichnisse zu wechseln und dasselbe für sie zu tun und so weiter. Aber das ist viel Handarbeit. Gibt es keine Möglichkeit, dies automatisch zu tun?
Dh wie ich es jetzt mache:
machen:
$ chmod -R +x
$ chmod -R +r
bis ich dann keine fehler bekomme
$ find -type f -exec chmod -x {} +
Aber es muss einen besseren Weg geben.