Come cambiare i permessi su Linux

Per modificare i permessi di un file o di una directory sul sistema operativo Linux si utilizza il comando chmod.

chmod [ugoa] [+-=] [rwx] nomefile

Il comando è l'abbreviazione di change modality. Si chiama così perché i permessi sono anche detti modalità.

Come funziona chmod

Il primo parametro [ugoa] di chmod indica a chi devo cambiare i permessi.

Posso scegliere tra i seguenti caratteri:

u (user)
g (group)
o
(others)
a
(all)

Esempio. Digitando il carattere 'u' modifico i permessi sul file soltanto per l'utente. Digitando 'g' per il gruppo, 'o' per il gruppo e, infine, il carattere 'a' per tutti quanti ( utente, gruppo e altri utenti ).

Nel secondo parametro devo scegliere se aggiungere (+), rimuovere (-) o impostare (=) i permessi.

+ (aggiungi permesso)
- (rimuovi permesso)
= (imposta permesso)

A questo punto, nel terzo parametro devo indicare il tipo di permesso:

r (lettura)
w (scrittura)
x (esecuzione)

Combinando questo parametro con il precedente posso decidere i permessi sul file.

Esempio. Per aggiungere un permesso di lettura posso scrivere +r. Per rimuovere il permesso di esecuzione, invece, scrivo -x. Per impostare tutti i permessi in una sola volta scrivo =rwx. E così via.

Infine, nel quarto parametro devo digitare il nome del file o della directory a cui voglio cambiare i permessi.

Un esempio pratico

Devo cambiare i permessi al file Prova.

Inizialmente il file a questi permessi:

-r--rw-r--

Per aggiungere (+) il permesso di esecuzione (x) per l'utente (u) digito

chmod u+x prova

La stringa dei permessi del file diventa

-r-xrw-r--

Per togliere (-) il permesso di scrittura (w) al gruppo (g) digito

chmod g-w prova

Dopo la modifica la stringa dei permessi sul file diventa

-r-xr--r--

Per impostare (=) i permessi di lettura (r), scrittura (w) ed esecuzione (x), in una sola volta, per gli altri utenti (o) digito

chmod o=rwx

A questo punto la stringa dei permessi si trasforma nella seguente

-r-xr--rwx

Infine, per impostare (=) i permessi di lettura (r), scrittura (w) ed esecuzione (x) per tutti (a) digito.

chmod a=rwx

Ora la stringa dei permessi sul file è la seguente:

-rwxrwxrwx

Poi ci ripenso e decido che gli altri (o) debbano soltanto leggere il file. Quindi scrivo

chmod o=r

La stringa dei permessi si trasforma in

-rwxrwxr--

E così via... potrei fare altri esempi ma il funzionamento di chmod dovrebbe essere chiaro.

Come modificare i permessi in forma numerica

C'è anche la possibilità di modificare i permessi utilizzando le modalità numeriche.

chmod [numero] nomefile

Ad esempio, per assegnare i permessi di lettura, scrittura ed esecuzione a tutti basta scrivere:

chmod 777 nomefile

E' una strada alternativa molto più rapida e sintetica, anche se inizialmente è difficile da imparare.

Come visualizzare i permessi del file o directory

Dopo aver cambiato i permessi a un file o a una directory, è consigliabile verificare che la modifica sia avvenuta correttamente.

Per controllare se i permessi sono cambiati, scrivo sulla linea comandi:

ls -l prova

Il sistema operativo mi restituisce le informazioni sul file.

Se tutto è andato bene, dovrei vedere la stringa dei permessi aggiornata.


 
Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Libri di approfondimento

I permessi su Linux

  1. Cosa sono i permessi
  2. Come vedere i permessi di un'utente
  3. Come cambiare i permessi su un file o directory
  4. I permessi numerici
    ( es. 777, 644, ecc. )
  5. Le modalità speciali
  6. I comandi chmod
  7. La maschera dei permessi (umask)

FAQ