Come applicare ricorsivamente le directory chmod senza influire sui file?


18

Dopo che mi rivolgo chmod -Ra una directory, i permessi vengono cambiati per tutto (file e directory). Come posso aggiungere xautorizzazioni execute / search ( ) alle directory senza modificare i file?

Risposte:


13

Puoi usare trova .

find ./ -type d -execdir chmod 750 {} +

Dove 750 è la modalità che desideri applicare e "./" è la directory che ricercherai ricorsivamente.

EDIT : Grazie a @Gilles e find (1) , l'ho modificato per maggiore sicurezza e prestazioni.


@Gilles Grazie, non è troppo frequente che impari qualcosa di nuovo sugli strumenti Unix :-) È fantastico. Inoltre, ora leggendo la documentazione di ricerca , si dovrebbe usare invece -execdir.
ewindisch,

7

In questo caso particolare è possibile utilizzare Xinvece di xaggiungere solo i bit a directory o file che hanno già impostato il bit eseguibile per alcuni utenti (ad es chmod -R +X my_dir.).

In generale (ad esempio, se si desidera rendere leggibili tutte le directory senza influire sui file), è possibile utilizzare findcon -type do se si utilizza zsh (o bash 4 con shopt -s globstar) il **/glob (entrambi senza passare il -Rflag su chmod).


@Gilles: buon punto, l'ho aggiunto alla risposta.
sepp2k,

1
"usa X invece di x che aggiunge solo i bit alle directory o ai file che hanno già impostato il bit eseguibile per alcuni utenti" - Grazie! Mi è mancata molto questa cosa!
Ivan
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.