Ho una directory molto grande e profonda. Vorrei che tutto fosse di sola lettura. Il problema è che credo di dover distinguere tra file (che otterranno a=r
) e directory (che otterranno a=rx
).
Come posso fare ciò?
Ho una directory molto grande e profonda. Vorrei che tutto fosse di sola lettura. Il problema è che credo di dover distinguere tra file (che otterranno a=r
) e directory (che otterranno a=rx
).
Come posso fare ciò?
Risposte:
chmod
accetta la modalità X
, che imposta solo x
su directory.a=X
Puoi anche rimuovere l'autorizzazione di scrittura: a-w
I suggerimenti sopra non hanno funzionato per me, tutte le cartelle sono state impostate in sola lettura.
Un collega mi ha dato questo, che funziona:
find . -type f -exec chmod a-w {} \;
find somepath \( -type f -exec chmod a=r {} \; \) -o \( -type d -exec chmod a=rx {} \; \)
chmod a=rX
che risolve il mio problema. Daman
: (X)execute/search only if the file is a directory or already has execute permission for some user