La gestione dei file e delle direcotry da parte di Linux avviene in modo abbastanza semplice ed intuitivo. In particolare ad ogni file (e ad ogni directory) sono assegnati una serie di permessi (lettura, scrittura, esecuzione) relativa ai diversi utenti che utilizzano il sistema.
Anzitutto è importante capire che ogni file ha la possibilità di avere permessi differenziati per il proprietario
, ovvero l'utente che ha creato il file, il gruppo
, ovvero un raggruppamento di utenti, e gli altri
, ovvero tutti gli altri utenti creati all'interno del sistema che non fanno parte di quelli del gruppo e non sono i proprietari.
Se vuoi saperne di più riguardo agli utenti e ai gruppi consulta la guida Gestione utenti e gruppi da terminale.
Per visualizzare i permessi relativi a dei file e delle directory è possibile lanciare da terminale il comando
$ls -l
Se non sai come si utilizza il terminale consulta la guida Utilizzare il terminale.
L'output di tale comando sarà una lista di tutti i file e di tutte le directory contenuti nella posizione in cui ci si trova: supponiamo di trovarci nella root directory (/) e di utilizzare tale comando. L'output sarà qualcosa di questo tipo
totale 101 drwxr-xr-x 2 root root 4096 gen 19 15:23 bin drwxr-xr-x 4 root root 1024 feb 1 10:59 boot drwxr-xr-x 2 root root 4096 gen 19 11:52 cdrom drwxr-xr-x 16 root root 4320 feb 8 11:03 dev [...]
analizziamo l'output:
- la prima colonna indica i permessi su tale file (o directory);
- la seconda indica il numero di collegamenti a quel file (hard links);
- la terza indica il proprietario;
- la quarta indica il gruppo;
- la quinta indica la dimensione (in byte) sul disco;
- la sesta indica la data dell'ultima modifica;
- la settima il nome del file o della directory.
analizziamo ora i permessi sui file e sulle directory. Dall'esempio di output riportato qui sopra è possibile notare che i permessi vengono identificati tramite dei caratteri che hanno un significato specifico e si trovano sempre in un ordine analogo.
L'ordine dei permessi è il seguente:
il primo carattere indica se quella voce è un file o una directory (d nell'esempio); i 3 caratteri successivi indicano i permessi del proprietario (rwx nell'esempio); i 3 caratteri successivi indicano i permessi del gruppo (r-x nell'esempio); gli ultimi 3 caratteri indicano i permessi degli altri utenti (r-x nell'esempio).
Il significato dei caratteri è il seguente:
d - r w x -il primo carattere può essere indica che quella voce è una directory indica che quella voce è un file i caratteri che identificano i permessi sono: indica il permesso di lettura indica il permesso di scrittura indica il permesso di esecuzione indica che l'utente non ha il permesso a cui è sostituito
per chiarire meglio usiamo la prima voce (bin
) dell'esempio di output riportato sopra:
drwxr-xr-x 2 root root 4096 gen 19 15:23 bin Nome: bin Proprietario: root Gruppo: root Tipo: directory (d) Permessi proprietario: può leggere (r), scrivere (w) ed eseguire (x) Permessi gruppo: può leggere (r), non può scrivere (-), può eseguire (x) Permessi altri: può leggere (r), non può scrivere (-), può eseguire (x)
Modificare gli attributi di un file (o una directory)
Per modificare gli attributi di un file e di una directory, Linux mette a disposizione più comandi, ognuno dei quali si occuperà di variare uno degli aspetti sopra riportati.
chown
serve per modificare il proprietario del file (o directory)
Utilizzo:$ $chown [new_own] [file] oppure chown [new_own]:[new_group] [file]
al posto di
[new_own]
bisognerà mettere il nome del nuovo proprietario,[new_group]
andrà sostituito con il nome del nuovo gruppo e[file]
con il nome del file (o directory). È anche possibile cambiare i permessi di una directory e di tutti i file contenuti utilizzando l'opzione-R
. Esempio:#chown -R root:root /bin
chgrp
permette di modificare il gruppo del file (o directory)
Utilizzo:$chgrp [new_group] [file]
[new_group]
andrà sostituito con il nome del nuovo gruppo e[file]
con il nome del file (o directory). È anche possibile cambiare i permessi di una directory e di tutti i file contenuti utilizzando l'opzione-R
. Esempio:#chgrp -R root /bin
chmod
serve per cambiare i permessi del file (o directory)
Utilizzo:$chmod [new_mods] [file]
[new_mods]
andrà sostituito con una sequenza di 3 numeri che identificano i permessi e[file]
con il nome del file (o directory). È anche possibile cambiare i permessi di una directory e di tutti i file contenuti utilizzando l'opzione-R
. Esempio:#chmod -R 755 /bin
Il significato dei numeri da sostituire a
[new_mods]
è il seguente:1 2 4 3 5 6 7permesso di esecuzione sul file permesso di scrittura sul file permesso di lettura sul file per impostare più di un permesso sul file bisogna sommare i precedenti: esecuzione+scrittura (1+2) esecuzione+lettura (1+4) scrittura+lettura (2+4) esecuzione+scrittura+lettura (1+2+4)
il primo numero costituirà i permessi del proprietario, il secondo quelli del gruppo, il terzo quelli degli altri utenti.
Fonte: Ubuntu Manpage
Nessun commento:
Posta un commento