Proprietà del file
Ogni file è di proprietà di un utente specifico (o UID) e di un gruppo specifico (o GID). Il comando chown può essere utilizzato per modificare solo l'utente o l'utente e il gruppo di un file. Ecco un esempio di modifica del proprietario del file "file1" in "utente" e del relativo "utente" in utenti. Nota che l'uso del comando ls -l serve solo a mostrare la modifica e non è un passaggio necessario per modificare la proprietà del file:
# ls -l total 8 -rw-r--r--. 1 root root 30 Feb 16 04:47 file1 -rw-r--r--. 1 root root 130 Feb 16 04:47 file2
# chown user:user file1
# ls -l total 8 -rw-r--r--. 1 user user 30 Feb 16 04:47 file1 -rw-r--r--. 1 root root 130 Feb 16 04:47 file2
Il formato di base per il comando chown è il seguente:
# chown user.group filename
È possibile utilizzare i due punti (:) al posto del carattere separatore del punto (.).
# chown user:group filename
Inoltre, è possibile omettere il nome dell'utente o del gruppo. Se il nome utente viene omesso (ma è presente il carattere separatore), il comando chown si comporta come chgrp comando e viene modificata solo la proprietà del gruppo. Se il nome del gruppo viene omesso (ma è presente il carattere separatore, il gruppo verrà impostato sul gruppo di accesso dell'utente specificato. Se vengono omessi sia il nome del gruppo che il carattere separatore, viene modificato solo il nome utente.
Ad esempio, per modificare solo il proprietario è possibile eseguire quanto segue:
# chown user filename
Un comando alternativo per modificare solo il gruppo di un file è il comando chgrp. Ad esempio:
# chgrp group filename
Il comando chgrp viene comunemente utilizzato dagli utenti normali per modificare la proprietà di gruppo dei propri file. Il comando chown è normalmente utilizzato solo dall'utente root.
Proprietà del gruppo predefinita
Ogni utente può essere un membro di molti gruppi (elencati nel file /etc/group sotto diversi gruppi). Un solo gruppo sarà il gruppo principale di un utente (elencato nella voce dell'utente in /etc/password). Quando un utente crea un file, per impostazione predefinita il file sarà di proprietà del gruppo principale dell'utente. Se vogliono che il file sia di proprietà di uno dei loro altri gruppi, devono utilizzare il comando chgrp per modificare l'appartenenza al gruppo.
Un modo più conveniente per farlo è accedere temporaneamente a un altro gruppo, rendendo quel gruppo il tuo gruppo principale sostitutivo. In questo modo, tutti i nuovi file creati saranno automaticamente di proprietà del gruppo desiderato e non sarà necessario modificare manualmente l'appartenenza al gruppo. Esamina l'esempio seguente e nota l'uso di newgrp comando.
$ id uid=1001(user) gid=1001(user) groups=1001(user),10(wheel)
$ touch file1 $ ls -l file1 -rw-rw-r--. 1 user user 0 Feb 16 14:17 file1
$ newgrp wheel $ touch file2 $ ls -l file2 -rw-r--r--. 1 user wheel 0 Feb 16 14:22 file2
Autorizzazioni per file e directory
Di seguito è riportato l'output di esempio da ls -l; puoi vedere dal primo carattere di ogni riga che foo e bar sono directory (indicate dalla d) e che meta è un file normale (indicato da -).
$ ls -l drwxr-xr-x 2 user user 6 Jan 7 2015 Desktop -rw-rw-r-- 1 user user 0 Feb 16 14:17 file1 -rw-r--r-- 1 user wheel 0 Feb 16 14:22 file2
I successivi nove caratteri mostrano le autorizzazioni del file per utente, gruppo e altri (o chiunque altro) come mostrato di seguito, con parentesi aggiunte per chiarezza:
-(rw-) (r--) (r--) 1 user wheel 0 Feb 16 14:22 file2
Ora il proprietario ha i permessi di lettura e scrittura (rw-), il gruppo e tutti gli altri hanno solo i permessi di lettura (r–). Questa è chiamata rappresentazione simbolica perché lettere come r, w e x vengono utilizzate per indicare i permessi. I permessi possono anche essere rappresentati numericamente:r =4; w =2; x =1
Aggiungi ogni sezione in modo che i permessi del file meta (dall'esempio sopra) siano 664. Ecco un altro modo per vedere come arriviamo a quel numero:
-(rw-) (rw-) (r--) -(42-) (42-) (4--) 6 6 4
L'aggiunta dei numeri in ciascuna sezione comporta autorizzazioni di 664.
Modifica delle autorizzazioni dei file
Il chmod comando viene utilizzato per modificare i permessi di un file. Può essere utilizzato per aggiungere o rimuovere le autorizzazioni simbolicamente. Ad esempio, per aggiungere i permessi di esecuzione per il proprietario di un file, eseguiresti:
$ chmod u+x file_name
Oppure, per aggiungere autorizzazioni di lettura e scrittura per il gruppo proprietario del file, eseguire:
$ chmod g+rw file_name
Invece di aggiungere autorizzazioni, la sintassi simbolica di chmod può anche essere utilizzata per sottrarre o impostare un valore assoluto come mostrato in questi esempi:
$ chmod o-w file_name
$ chmod u=rwx,g=rx,o= file_name
Il comando chmod può anche impostare in modo esplicito i permessi usando una rappresentazione numerica. Ad esempio, per impostare le autorizzazioni su un file su rwxrwxr–, eseguire:
$ chmod 774 file_name