Chmod con Find, Impostare Permessi a Directory e Files

Pubblicato da Yuri Carlenzoli | 14 Dicembre 2011

Ecco come tramite il comando find su Linux, home computer o server è possibile impostare i permessi tramite chmod a files e directory in modo differente e veloce.

Chmod-Find

Find, programma a riga di comando su Linux non è utile solo per trovare files e directory, è possibile passargli anche molti parametri, in questo post spiego un semplice e molto utile tip che permette di utilizzare find per eseguire chmod in modo tale da cambiare differentemente i permessi a directory ed a files contenuti nelle directory, sul computer di utilizzo comune non verrà utilizzato molto, se si ha un sito internet e/o se si sviluppa in locale è molto utile.

In teoria e pratica, dopo avergli detto la directory di destinazione contenente i files o le cartelle di cui si vogliono settare i permessi, bisognerà dire innanzitutto a find se impostare i permessi solo a files o directory tramite le opzioni -type f per i files oppure -type d per le directory e tramite l'opzione -exec chmod XXX seguita da {} \; gli si dirà di eseguire il comando chmod sulle cartelle o sui files presenti in quella directory.

Prima di fare l'esempio dico solo di prestare attenzione nell'impostare permessi troppo ... permissivi (scusate la ripetizione) perchè il chmod sarà ricorsivo, è meglio quindi settare i permessi singolarmente ai file che possono essere scritti e/o visti da tutti o comunque non solo dal proprietario.

Ora però, tramite un esempio, anche se la sintassi potrebbe essere diversa, spiego come impostare permessi ai file tramite find eseguendo chmod, ammettendo che vogliate cambiare i permessi ai files presenti nella directory locale di Joomla che avete in una installazione di XAMPP impostandoli a "775" il comando che dovrete dare sarà:

find /opt/lampp/htdocs/joomla/ -type f -exec chmod 775 {} \;

I parametri che sono presenti nell'esempio che ho appena fatto li ho spiegati, dico infine che, siccome come ho detto l'impostazione dei premessi sarà ricorsiva per le directory ed i file presenti nelle sotto-cartelle è cosa saggia se cominciate ad impostare permessi prima nelle directory madri e poi nelle sotto directory, ovviamente solo se volete che abbiano dei permessi diversi.

2 commenti su “Chmod con Find, Impostare Permessi a Directory e Files

  1. Giorgio

    Per evitare di agire su tutti i livelli di sottocartelle occorre aggiungere il parametro -maxdepth seguito dal livello massimo in cui agire.
    ad esempio, se si vuole agire solo sul percorso dichiarato e non sulle sue sottocartelle il comando sarà:
    find /miopercorso -maxdepth 1 -type f exec chmod 755 {} \ ;

    Ciao 😉

    p.s.: ottimo sito...complimenti!

  2. yuri Autore del post

    Grazie della dritta /precisazione Giorgio e dei complimenti 🙂

    Ciao,
    Yuri.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Moderazione dei commenti attiva. Il tuo commento non apparirà immediatamente.