Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Modificare i permessi

Link copiato negli appunti

CHOWN

chown (change owner) È il comando grazie al quale possiamo cambiare il proprietario e il gruppo di un file o directory. La sua sintassi È molto semplice, basterà indicare separati da un punto il nuovo utente e il nuovo gruppo per un file.

Vediamo in dettaglio i file contenuti nella seguente directory.


andrea@lnxbox1:~/programmazione$ ls -la
total 96
drwxr-xr-x    6 andrea   amici        4096 May 13 00:19 .
drwxr-xr--   78 andrea   amici       12288 May 13 00:14 ..
-rwxr-xr-x    1 andrea   amici       27767 Feb 13 22:47 Prog
-rw-r--r--    1 andrea   amici       35594 Feb 13 22:13 Prog.c
drwxr-xr-x    2 andrea   amici        4096 Jan 13 00:14 cpp
drwxr-xr-x    2 andrea   amici        4096 Jan 13 00:14 perl
drwxr-xr-x    2 andrea   amici        4096 Jan 13 00:14 php
drwxr-xr-x    2 andrea   amici        4096 Jan 13 00:15 python

Come abbiamo già visto tutti i file sono di proprietà di andrea e hanno come gruppo di appartenenza amici. Se vogliamo cambiare l'owner o il group dovremo assumere l'identità di root, quindi scriviamo:

andrea@lnxbox1:~/programmazione$ su
Password:

Dopo aver messo la password di root saremo in grado di eseguire comandi con i suoi privilegi (l'identità del superuser È distinguibile dal # presente nel prompt al posto del $). Proviamo ora a cambiare il proprietario del file Prog da andrea a mario.

lnxbox1:/home/andrea/programmazione# chown mario Prog
lnxbox1:/home/andrea/programmazione# ls -la Prog
-rwxr-xr-x 1 mario amici 27767 Feb 13 22:47 Prog

Come vedete il file ha ora un nuovo owner. Notare anche che i permessi sono rimasti invariati, il nuovo proprietario potrà quindi leggere, modificare o eseguire il file.

Poniamo ora di voler cambiare anche il gruppo da amici in colleghi. Basterà anteporre il gruppo da un . per sostituirlo.

lnxbox1:/home/andrea/programmazione# chown .colleghi Prog
lnxbox1:/home/andrea/programmazione# ls -la Prog
-rwxr-xr-x 1 mario colleghi 27767 Feb 13 22:47 Prog

Anche in questo caso i permessi sono rimasti gli stessi. È possibile cambiare sia il proprietario che il gruppo contemporaneamente, basta separarli da un . (punto), come nell'esempio che segue.

lnxbox1:/home/andrea/programmazione# chown root.root Prog
lnxbox1:/home/andrea/programmazione# ls -la Prog
-rwxr-xr-x 1 root root 27767 Feb 13 22:47 Prog

Ora solo l'amministratore di sistema o chi fa parte del suo gruppo potrà leggere il file, mentre tutti potranno comunque eseguirlo.

CHMOD

Con chmod saremo in grado di cambiare anche i permessi per i file. La sintassi di chmod ammette due modi di indicare i permessi, uno sotto forma di 3 cifre ottali (cioÈ da 0 a 7 inclusi), e uno attraverso degli operatori simbolici.

La rappresentazione in forma ottale può sembrare complessa, ma risulta essere anche la più veloce e compatta. Il suo funzionamento È basato su delle combinazioni numeriche che ci danno univocamente i permessi di un file. Con questa rappresentazione viene assegnato il valore 1 al permesso di esecuzione, 2 a quello di scrittura e 4 a quello di lettura. La somma di questi valori ci dà il permesso risultante per l'utente, il gruppo o gli altri. Nell'esecuzione di chmod dovremo riportare i permessi che vogliamo assegnare utilizzando le tre cifre (una per l'owner, una per il group, e una per other) secondo il precedente metodo. Per una semplificazione riporto il seguente schema:

  • 0 Nessun permesso (---)
  • 1 Permesso in esecuzione (--x)
  • 2 Permesso in scrittura (-w-)
  • 3 Permesso in scrittura ed esecuzione (-wx)
  • 4 Permesso in lettura (r--)
  • 5 Permesso in lettura ed esecuzione (r-x)
  • 6 Permesso in lettura e scrittura (rw-)
  • 7 Permesso in lettura, scrittura ed esecuzione (rwx)

Un altro modo più semplice È indicare come parametro tramite un identificativo (u per l'owner, g per il gruppo, o per gli altri) gli utenti che accedono al file dei quali vogliamo cambiare i permessi seguito da un + o un - a seconda che vogliamo aggiungere o togliere quel determinato permesso e da r, w oppure x in base alle modifiche da attuare.

Ad esempio per cambiare da -r--r--r-- a -rw-r--r-- i permessi di un file possiamo usare:

chmod 644 file

oppure

chmod u+w file

Se vogliamo cambiarli da -r--r--r-- a -rwxrwxr-x

chmod 775 file

oppure

chmod ug+w file chmod ugo+x file

Al posto di "ugo" È possibile mettere "a" oppure niente ("ugo+x" = "a+x" = "+x").

Se vogliamo che possa accedere a un file in lettura solo il proprietario (passare quindi da -r--r--r-- a -r--------) scriveremo:

chmod 400 file

oppure

chmod go-r file

Oltre ai permessi di scrittura lettura ed esecuzione È possibile indicare come modalità: SUID (Set User Id), SGID (Set Group ID) e Sticky (Save Text Image). Il loro uso È spesso ignorato dall'utente medio ed È bene (se sono presenti) lasciarli invariati, a meno che non venga chiesto esplicitamente di cambiarli (potrebbe accadere che una distribuzione consigli di togliere per esempio il SUID da un file come momentanea soluzione a un bug che può implicare problemi di sicurezza).

Ti consigliamo anche