Gestire la proprietà e le autorizzazioni dei file è probabilmente il compito più essenziale di un amministratore di sistema. In qualsiasi sistema operativo multiutente come Linux, l'assegnazione corretta della proprietà di file e directory è fondamentale.
Il comando chown è lo strumento più utile a questo scopo. Da non confondere con chmod, chown può modificare la proprietà dei file da parte dell'utente e assegnarli a gruppi diversi. È un comando essenziale da padroneggiare per qualsiasi utente Linux serio.
Ecco una guida per iniziare.
Come si controlla la proprietà di un file?
Prima di iniziare a spostare file tra proprietari e gruppi diversi, dovresti imparare come verificare l'attuale proprietario di un file. Il processo è semplice: l'aggiunta di un flag -l a un normale comando ls include le informazioni sulla proprietà del file o della directory interrogata.
Supponiamo che tu abbia un file chiamato esempio.txt. Ecco come apparirà il comando per visualizzare le informazioni sulla proprietà:
ls -l esempio.txt
Utilizzo di chown su un singolo file
Il modo più semplice per utilizzare chown è cambiare l'utente proprietario di un particolare file. La sintassi è sudo chown nomeutente nomefile, dove nomeutente è il nome dell'utente a cui vuoi assegnare il file e nomefile è il nome del file in questione. Ecco come appare in pratica:
sudo chown qualcun_altro esempio.txt
Nota che ciò non modifica la proprietà del gruppo dei file, ma solo l'utente. Per modificare il proprietario del gruppo, devi utilizzare una sintassi diversa: sudo chown :groupname filename
In questo caso specifico, diventa:
sudo chown :group2 example.txt
Puoi anche combinare entrambi i comandi in un'unica riga per modificare l'utente e la proprietà del gruppo di un file:
sudo chown me:gruppo1 esempio.txt
Modifica della proprietà di più file con Chown
Cambiare la proprietà di ogni file individualmente è piuttosto noioso quando si ha a che fare con un numero maggiore di file. Per fortuna, la maggior parte dei comandi Linux ti consente di concatenare più nomi di file separati da spazi all'interno di un singolo comando. In questo modo:
sudo chown qualcun_altro:gruppo2 esempio1.txt esempio2.txt.
Utilizza lo stesso trucco anche per verificare la proprietà di più file:
ls -l esempio1.txt esempio2.txt
Anche per combinare più nomi di file in un unico comando, il processo è troppo scomodo per più di un paio di file. Un approccio migliore è cambiare la proprietà dell'intero contenuto di una directory in una sola volta.
Ciò si ottiene aggiungendo un flag -R al comando chown. Ciò fa sì che Chown esamini il contenuto della directory e modifichi ricorsivamente la proprietà di ogni file al suo interno. Ecco una dimostrazione:
sudo chown -R qualcun_altro:group2 esempi
Possiamo utilizzare nuovamente il flag ricorsivo per verificare la proprietà dei file nella cartella degli esempi.
ls -l -R esempi
Modifica la proprietà del file con l'UID
Gli amministratori di sistema che gestiscono molti utenti si stancheranno presto di inserire ripetutamente i nomi utente. Un singolo errore di battitura in uno qualsiasi dei nomi genera un errore nell'utilizzo di chown, rallentando notevolmente il processo.
Un'alternativa migliore è utilizzare invece l'ID utente. L'UID è un numero di quattro cifre assegnato a ciascun utente creato, a partire da 1000 e salendo. È molto più semplice da inserire rispetto a una stringa e molto meno soggetto a errori.
Per utilizzare questo metodo, basta sostituire il nome utente con l'UID:
sudo chown 1001 esempio.txt
Se non conosci l'UID di un utente, puoi verificarlo rapidamente con il comando id. Basta inserireid -u nome utenteper visualizzare l'ID univoco di quell'utente.
Questo metodo può essere esteso anche ai nomi dei gruppi. Per ottenere l'UID del gruppo di accesso di un utente e di altri gruppi a cui appartiene, utilizza il comando id senza il flag -u.
id qualcun_altro
Come puoi vedere, abbiamo diversi ID di gruppo a cui appartiene l'utente specificato. Mettendo tutto insieme, possiamo usare chown in questo modo per assegnare un nuovo proprietario e cambiare il gruppo di un file:
sudo chown 1001:1003 esempio.txt
Cos'altro puoi fare con il comando chown?
Abbiamo già dimostrato la maggior parte degli usi comuni di chown. Ora puoi modificare utenti e gruppi proprietari di un file attraverso vari metodi. Ma questo non è il limite completo delle capacità del comando..
Puoi fare riferimento alle pagine man ufficiali per una descrizione tecnica e un elenco completo degli argomenti che puoi utilizzare con il comando. Basta inserire man chown nel terminale per visualizzarlo.
Chown è utile?
Se sei l'unico utente del tuo computer, non avrai mai bisogno di utilizzare chown. Ma se utilizzi un sistema Linux in un ambiente professionale, che si tratti di un server commerciale o di un computer universitario, allora padroneggiare il comando chown (oltre a chmod ) è della massima importanza.
La possibilità di assegnare e rimuovere file a utenti e gruppi è essenziale per mantenere limiti rigidi nei sistemi multiutente. La parte migliore di chown è la sua flessibilità: puoi lavorare con singoli file o intere directory con lo stesso comando.
Puoi anche assegnare la proprietà a utenti e gruppi separatamente e in un'istruzione combinata. Utilizzato con gli UID più convenienti, rende la gestione anche delle gerarchie di utenti più complesse un gioco da ragazzi.
.