pc-facile.com
http://www.pc-facile.com/guide/linux_principali_comandi_permessi_proprieta_files/254.htm



Generale: klizya 01 Novembre 05 @ 00:01 am

2. Attributi e permessi

Linux è un sistema multiutente e in quanto tale offre la possibilità di consentire o vietare agli utenti l’accesso a determinate parti del sistema. L’utente che ha funzioni di amministratore (superuser) è quello che ,come si suol dire, ha “privilegi di root”.
I permessi associati a un file o a una directory sono:
- utente proprietario (owner)
- gruppo proprietario (group definiti in /etc/group)
- il resto degli utenti (other)
- tutti (all)
- numero riguardante l’utente (u)

Il comando per vedere i permessi associati ad un file è :
$ ls -l
total 2
-rw-r--r-- 1 klizya users 230 nov 01 12:01 lista.txt
drwxr-xr-x 2 klizya users 1234 nov 01 15:23 prove

I primi dieci caratteri della riga sono i permessi di un file o directory. Saltando il primo carattere (se è una d significa che è una directory), i successivi caratteri rappresentano gli attributi riguardanti l'utente(il primo carattere a sinistra), il suo gruppo e gli altri utenti e possono essere pensati come 3 numeri binari di 3 cifre ciascuno. Le tre cifre rappresentano nell'ordine gli accessi in lettura(r), scrittura(w) ed esecuzione(x) da parte del proprietario mentre gli altri caratteri hanno le stesse caratteristiche per i group e gli other.
Il comando per cambiare i permessi è chmod.
$ chmod g+w lista.txt (g sta per group e w per scrittura il segno + per aggiungere)

$ ls -l lista.txt
-rw-rw-r-- 1 Klizya users 230 nov 01 18:12 lista.txt
oppure :
$ chmod 664 lista.txt
$ ls -l lista.txt
-rw-rw-r-- 1 Klizya users 230 nov 01 18:12 lista.txt

Con questo esempio si consente agli utenti del gruppo di modificare il file e, si può notare, al posto delle lettere si possono usare dei numeri che sono la traduzione ottale del numero binario che si ottiene assegnando 1 al permesso , 0 alla negazione e 1 al – .
chmod può essere usato in modo ricorsivo(il permesso è assegnato alla directory e ai files al suo interno) usando l'opzione -R :
$ chmod -R g+w prove/

E’ importante sottolineare che bisogna stare molto attenti quando si usa la ricorsività e settare lo sticky bit per impedire che i files o la directory possano essere modificati o cancellati da tutti:

$ chmod +t prove

Abbiamo visto che chmod ci permette di modificare i permessi ma va specificato che quando viene creato un file sorge il problema di quali debbano essere i permessi ad esso assegnati. Il file appartiene all'utente che lo crea e al suo gruppo ma per stabilire il tipo di permesso da assegnare si ricorre alla maschera dei permessi (umask) che viene utilizzata per impedire che alcuni permessi possano essere assegnati ai nuovi file in sede di creazione. I bit indicati nella maschera vengono infatti cancellati dai permessi quando un nuovo file viene creato.
In genere si usa questa maschera per impostare un valore predefinito che escluda preventivamente alcuni permessi (usualmente quello di scrittura per il gruppo e gli altri, corrispondente ad un valore per mask pari a 022). In questo modo è possibile cancellare automaticamente i permessi non voluti.
La sintassi è:
umask utente/gruppo +/-/= permessi da attribuire
Se vogliamo impostare il valore di umask per consentire permessi di lettura, scrittura ed esecuzione per il possessore del file e solo il permesso di lettura per tutti gli altri (-rwxr--r--) sui file appena creati basta digitare:
$ umask u=rwx,g=r,o=r





© 2000-2024 pc-facile.com