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.