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.

  • Controlla la proprietà attuale conls -l
  • Cambia proprietario consudo chown username filename
  • Cambia proprietario e gruppo contemporaneamente consudo 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



Questo articolo è stato utile?