Come usare efficacemente il comando Chown in Linux
Capire chi possiede cosa e modificarlo è piuttosto cruciale in Linux, soprattutto se si gestiscono molti file o si lavora in un ambiente multiutente. A volte un programma non funziona perché i permessi non sono corretti, oppure è semplicemente necessario trasferire la proprietà di un file o di una directory. Il fatto è che usare il comando chown può sembrare intimidatorio all’inizio, ma una volta presa la mano, semplifica davvero la vita. Non si tratta solo di cambiare la proprietà: è possibile anche modificare i permessi di gruppo, farlo ricorsivamente su intere cartelle e persino utilizzare ID utente al posto dei nomi utente, se si è appassionati di queste cose. Ecco una guida rapida per iniziare e magari risolvere qualche problema lungo il percorso.
Come verificare chi possiede un file o una cartella in Linux
Prima di iniziare a cambiare la proprietà, è bene sapere con cosa si ha a che fare. Il comando ls -l è un valido aiuto in questo caso. Mostra dettagli come proprietario, gruppo, permessi e altro ancora. Ad esempio, se vuoi vedere chi è il proprietario di example.txt, digita semplicemente:
ls -l example.txt
Verrà visualizzata una riga che mostra il proprietario (utente) e il gruppo. Se il proprietario non è chi pensi dovrebbe essere, probabilmente è il momento di cambiare.
Modifica della proprietà di un singolo file
Cambiare proprietario è semplice. Usa sudo chown seguito dal nome utente e dal nome del file. In questo modo:
sudo chown newuser example.txt
Perché? Perché in alcune configurazioni, potresti riscontrare errori di autorizzazione senza sudo, soprattutto se non sei già il proprietario. Quando esegui questo comando, il file ora appartiene a newuser. Tieni presente che questo non cambia il gruppo, ma solo il proprietario. Se vuoi cambiare anche il gruppo, hai bisogno di una sintassi diversa, come ad esempio sudo chown :newgroup example.txt. E se vuoi fare entrambe le cose, proprietario e gruppo, contemporaneamente, è:
sudo chown newuser:newgroup example.txt
Utilizzo di chown su più file o intere directory
Cambiare la proprietà di un file alla volta può essere piuttosto noioso, soprattutto se si lavora con cartelle piene di file. Fortunatamente, è possibile impilare molti nomi di file:
sudo chown user1:groupA file1.txt file2.txt
Ma se stai lavorando con una directory piena di sottocartelle e file e vuoi che tutto appartenga a qualcuno di nuovo, il flag ricorsivo -Rè la soluzione giusta. Esamina tutte le sottocartelle e cambia la proprietà ovunque. In questo modo:
sudo chown -R newowner:linkgroup my_folder
Fai attenzione, però: se lo esegui nella directory sbagliata, potresti compromettere i permessi che non intendevi modificare. In una configurazione ha funzionato bene, in un’altra…non così tanto. Controlla sempre rapidamente cosa stai per fare ls -ldopo la modifica.
Cambiare la proprietà utilizzando gli ID utente (UID)
Per i tecnici che preferiscono non usare nomi, o se si sta scrivendo uno script, gli uid sono la soluzione ideale. Ogni utente ha un numero, il che è molto meno soggetto a errori rispetto al tentativo di scriverne il nome ogni volta. Per scoprire l’UID di un utente, basta eseguire:
id -u username
Ad esempio, id -u johndoepotresti ottenere 1002. Quindi, inseriscilo semplicemente in chown:
sudo chown 1002 example.txt
Se si desidera assegnare la proprietà di un file a un utente e a un gruppo tramite UID, il valore è sudo chown 1002:1003 example.txt, dove 1003 è l’ID del gruppo.È anche possibile trovare l’ID del gruppo con:
id username
Cos’altro può fare il comando chown?
Oltre a modificare la proprietà, puoi esplorare la pagina man: man chown.È una sorta di manuale di istruzioni per il comando, che elenca ogni sorta di opzioni, come non solo la modifica dei file, ma anche l’impostazione di permessi o proprietà specifici. Sicuramente utile se inizi a gestire molti scenari di file diversi.
Chown è utile?
Onestamente, se usi solo il tuo PC, forse non hai bisogno di smanettare molto. Ma per chiunque gestisca server, sistemi condivisi o svolga attività di amministrazione di sistema, padroneggiare chown è praticamente obbligatorio. Aiuta a mantenere le cose in ordine, garantisce che solo le persone giuste possano accedere a determinati file e previene perdite accidentali di dati. Inoltre, la possibilità di modificare la proprietà in massa risparmia un sacco di grattacapi durante la pulizia o la riorganizzazione. In alcune rare occasioni, può sembrare un po’ macchinoso, soprattutto se i permessi sono già strani, ma alla fine è piuttosto potente.
Incartare
Una volta presa la mano, armeggiare con la proprietà non è poi così spaventoso come sembra. Che tu stia risolvendo un problema di permessi ostinato o semplicemente sistemando le cose, questi comandi renderanno la tua vita su Linux un po’ più semplice. Fai solo attenzione alle modifiche ricorsive: non vorrai finire per possedere tutto il sistema per sbaglio.
Riepilogo
- Controlla la proprietà attuale con
ls -l - Cambia proprietario con
sudo chown username filename - Cambia proprietario e gruppo contemporaneamente con
sudo chown user:group filename - Utilizzare
-Rper modifiche ricorsive alle cartelle - Utilizzare UID
id -u usernameper ridurre gli errori di battitura negli script
Incrociamo le dita affinché questo aiuti
Articoli correlati
Questo articolo è stato utile?