Ho un archivio, che è archiviato da qualcun altro, e voglio automaticamente, dopo averlo scaricato, cambiare un ramo del file system all'interno dei file estratti per ottenere l'accesso in lettura. (Non posso cambiare la modalità di creazione dell'archivio).
Ho esaminato questo thread: chmod: come aggiungere ricorsivamente permessi di esecuzione solo ai file che hanno già i permessi di esecuzione come in alcuni altri, ma nessuna gioia.
Le directory originariamente vengono fornite con più ma tutte le bandiere sbagliate, possono apparire come:
drwx------
d---r-x---
drwxrwxr-x
dr--r-xr--
Questi sono solo i pochi che ho scoperto finora, ma potrebbero essere di più.
find
errori quando si tenta di cercare in una directory con no x
autorizzazione e quindi non la passa a chmod
. Quello che ho fatto finora è cambiare manualmente le autorizzazioni nella directory principale, quindi andare nelle directory secondarie e fare lo stesso per loro e così via. Ma questo è un sacco di lavoro manuale. Non c'è un modo per farlo automaticamente?
Cioè come lo sto facendo ora:
fare:
$ chmod -R +x
$ chmod -R +r
fino a quando non ricevo errori, quindi
$ find -type f -exec chmod -x {} +
Ma deve esserci un modo migliore.