Ogni file e directory su un sistema Linux è di proprietà di qualcuno e il proprietario ha il controllo completo per modificare o eliminare i file di cui è proprietario. Oltre ad avere un utente proprietario , un file ha un gruppo proprietario .
Puoi visualizzare la proprietà di un file utilizzando ls -l comando:
[pablo@workstation Downloads]$ ls -l
total 2454732
-rw-r--r--. 1 pablo pablo 1934753792 Jul 25 18:49 Fedora-Workstation-Live-x86_64-30-1.2.iso
La terza e la quarta colonna dell'output sono l'utente proprietario e il gruppo, che insieme sono indicati come proprietà . Entrambi sono pablo per il file ISO sopra.
Le impostazioni di proprietà, impostate da chmod comandare, controllare chi è autorizzato a eseguire azioni di lettura, scrittura o esecuzione. Puoi cambiare la proprietà (una o entrambe) con il chown comando.
Spesso è necessario cambiare proprietà. File e directory possono vivere a lungo su un sistema, ma gli utenti possono andare e venire. Potrebbe essere necessario modificare anche la proprietà quando i file e le directory vengono spostati nel sistema o da un sistema all'altro.
La proprietà dei file e delle directory nella mia home directory sono il mio utente e il mio gruppo principale, rappresentato nella forma utente:gruppo . Supponiamo che Susan stia gestendo il gruppo Delta, che deve modificare un file chiamato mynotes . Puoi usare il chown comando per cambiare l'utente in susan e il gruppo su delta :
$ chown susan:delta mynotes
ls -l
-rw-rw-r--. 1 susan delta 0 Aug 1 12:04 mynotes
Una volta che il gruppo Delta ha finito con il file, può essere riassegnato a me:
$ chown alan mynotes
$ ls -l mynotes
-rw-rw-r--. 1 alan delta 0 Aug 1 12:04 mynotes
Sia l'utente che il gruppo possono essere riassegnati a me aggiungendo due punti (: ) all'utente:
$ chown alan: mynotes
$ ls -l mynotes
-rw-rw-r--. 1 alan alan 0 Aug 1 12:04 mynotes
Anteponendo il gruppo con due punti, puoi modificare solo il gruppo. Ora membri della gamma il gruppo può modificare il file:
$ chown :gamma mynotes
$ ls -l
-rw-rw-r--. 1 alan gamma 0 Aug 1 12:04 mynotes
Alcuni argomenti aggiuntivi da chown possono essere utili sia dalla riga di comando che in uno script. Proprio come molti altri comandi Linux, chown ha un argomento ricorsivo (-R ) che dice al comando di scendere nella directory per operare su tutti i file all'interno. Senza -R flag, modifichi i permessi solo della cartella, lasciando invariati i file al suo interno. In questo esempio, si supponga che l'intento sia quello di modificare le autorizzazioni di una directory e di tutto il suo contenuto. Qui ho aggiunto il -v argomento (verboso) in modo che chown riporti ciò che sta facendo:
$ ls -l . conf
.:
drwxrwxr-x 2 alan alan 4096 Aug 5 15:33 conf
conf:
-rw-rw-r-- 1 alan alan 0 Aug 5 15:33 conf.xml
$ chown -vR susan:delta conf
changed ownership of 'conf/conf.xml' from alan:alan to susan:delta
changed ownership of 'conf' from alan:alan to susan:delta
A seconda del tuo ruolo, potresti dover utilizzare sudo per cambiare la proprietà di un file.
Più risorse Linux
- Comandi Linux cheat sheet
- Cheat sheet sui comandi avanzati di Linux
- Corso online gratuito:Panoramica tecnica RHEL
- Cheat sheet della rete Linux
- Cheat sheet di SELinux
- Cheat sheet dei comandi comuni di Linux
- Cosa sono i container Linux?
- I nostri ultimi articoli su Linux
Puoi utilizzare un file di riferimento (--reference=RFILE ) quando si modifica la proprietà dei file in modo che corrisponda a una determinata configurazione o quando non si conosce la proprietà (come potrebbe essere il caso durante l'esecuzione di uno script). Puoi duplicare l'utente e il gruppo di un altro file (RFILE , noto come file di riferimento), ad esempio, per annullare le modifiche apportate in precedenza. Ricorda che un punto (. ) si riferisce all'attuale directory di lavoro.
$ chown -vR --reference=. conf
Segnala modifiche
La maggior parte dei comandi ha argomenti per controllare il proprio output. Il più comune è -v (--verboso ) per abilitare verbose, ma chown ha anche un -c (--modifiche ) argomento per indicare a chown di segnalare solo quando viene apportata una modifica. Chown segnala comunque altre cose, ad esempio quando un'operazione non è consentita.
L'argomento -f (--silenzioso , --silenzioso ) viene utilizzato per eliminare la maggior parte dei messaggi di errore. Userò -f e il -c nella sezione successiva in modo che vengano mostrate solo le modifiche effettive.
Preserva radice
La radice (/ ) del filesystem Linux dovrebbe essere trattato con grande rispetto. Se viene commesso un errore a questo livello, le conseguenze potrebbero lasciare un sistema completamente inutile. In particolare quando si esegue un comando ricorsivo che apporta qualsiasi tipo di modifica o peggio:eliminazioni. Il comando chown ha un argomento che può essere utilizzato per proteggere e preservare la radice. L'argomento è --preserve-root . Se questo argomento viene utilizzato con un comando chown ricorsivo sulla radice, non viene eseguito nulla e viene visualizzato un messaggio.
$ chown -cfR --preserve-root alan /
chown: it is dangerous to operate recursively on '/'
chown: use --no-preserve-root to override this failsafe
L'opzione non ha effetto se non viene utilizzata insieme a --recursive . Tuttavia, se il comando viene eseguito dall'utente root, le autorizzazioni di / stesso verrà modificato, ma non di altri file o directory all'interno.
$ chown -c --preserve-root alan /
chown: changing ownership of '/': Operation not permitted
[root@localhost /]# chown -c --preserve-root alan /
changed ownership of '/' from root to alan
La proprietà è sicurezza
La proprietà di file e directory fa parte di una buona sicurezza delle informazioni, quindi è importante controllare e mantenere occasionalmente la proprietà dei file per prevenire accessi indesiderati. Il comando chown è uno dei più comuni e importanti nell'insieme dei comandi di sicurezza di Linux.