Chown è un comando su Linux che viene utilizzato per cambiare il proprietario di un insieme di file o directory.
Chown viene fornito con più opzioni ed è spesso utilizzato per cambiare il gruppo che possiede il file.
Tuttavia, in alcuni casi, potresti aver bisogno di cambiare il proprietario di una directory con tutti i file al suo interno.
Per questo, potresti aver bisogno di usare una delle opzioni del comando chown: chown ricorsivo.
In questo tutorial, imparerai come puoi usare ricorsivamente il comando chown per cambiare i permessi di cartelle e file in modo ricorsivo.
Tabella dei contenuti
Chown ricorsivo
Il modo più semplice per usare il comando chown ricorsivo è eseguire “chown” con l’opzione “-R” per ricorsivo e specificare il nuovo proprietario e le cartelle che vuoi cambiare.
$ chown -R <owner> <folder_1> <folder_2> ... <folder_n>
Per esempio, se vuoi cambiare il proprietario delle directory e dei file contenuti nella home directory di un utente specifico, dovresti scrivere
$ chown -R user /home/user
Nota : se hai bisogno di una guida completa sul comando chown, abbiamo scritto una guida completa sui permessi dei file su Linux.
Chown Utente e Gruppo Ricorsivamente
Per cambiare l’utente e il gruppo che possiede le directory e i file, devi eseguire “chown” con l’opzione “-R” e specificare l’utente e il gruppo separati da due punti.
$ chown -R <user>:<group> <folder_1> <folder_2> ... <folder_n>
Per esempio, diciamo che vuoi cambiare l’utente che possiede i file in “user” e il gruppo che possiede i file in “root”.
Per ottenere ciò, eseguirai il seguente comando
$ chown -R user:root /home/user
Congratulazioni, hai usato con successo il comando “chown” ricorsivamente per cambiare i proprietari sul tuo server!
Chown ricorsivamente usando find
Un altro modo di usare il comando “chown” ricorsivamente è quello di combinarlo con il comando “find” per trovare i file che corrispondono ad un dato schema e cambiare i loro proprietari e gruppi.
$ find <path> -name <pattern> -exec chown <user>:<group> {} \;
Per esempio, diciamo che vuoi cambiare il proprietario di tutti i file TXT che sono presenti all’interno di una data directory sul tuo server.
Prima di tutto, è molto consigliato eseguire il comando “find” da solo per verificare che tu stia facendo corrispondere i file corretti.
In questo esempio, faremo corrispondere tutti i file TXT nella home directory dell’utente corrente.
$ find /home/user -name *.txt
Ora che ti sei assicurato che stai puntando ai file corretti, puoi collegarlo con il “chown” per cambiare ricorsivamente i permessi.
$ find /home/user -name *.txt -exec chown user {} \;
Come potete vedere, il proprietario dei file TXT è stato cambiato, ma nessuno degli altri file e directory è stato alterato.
Fare attenzione con il chown ricorsivo
Su Linux, l’esecuzione di comandi come chown, chmod o rm è definitiva: non si può tornare indietro.
Di conseguenza, dovrete stare molto attenti a non eseguire alcun comando che possa danneggiare il sistema.
Questo punto è illustrato nella sezione precedente: abbiamo eseguito il solo comando find e ci siamo assicurati che il risultato fosse corretto.
Poi, abbiamo eseguito il comando chown per cambiare ricorsivamente i permessi dei file dal comando precedente.
Come regola empirica: se non siete sicuri del risultato di un comando, dividetelo in pezzi più piccoli fino a quando non siete sicuri di non eseguire nulla di dannoso.
Conclusione
In questo tutorial, avete imparato come potete eseguire il comando chown ricorsivamente sul vostro sistema.
Hai imparato che puoi ottenerlo usando l’opzione “-R” o combinandolo con il comando find.
I permessi Linux sono un vasto argomento: ti invitiamo a dare un’occhiata alla nostra guida completa sui permessi Linux se vuoi saperne di più.
Inoltre, se sei interessato all’amministrazione di sistema di Linux, abbiamo una sezione completa dedicata ad essa sul sito web, quindi assicurati di darci un’occhiata!