[hack] Permessi in linux

Pedro pedro.s@neomedia.it
Dom 14 Nov 2010 18:13:12 CET


Forse può servire a qualcuno un pò di teoria sui permessi in linux.

In linux si possono distinguere potenzialmente 2 tipi di permessi e 
quindi di comandi, che sono in diretta correlazione tra di loro.
Ongi file ha come prima cosa un proprietario, che si contradistingue in 
utente:gruppo.
Dopo possiede una "lista" formata da 3 cifre ottali o 9 cifre usando la 
rappresentazione simbolica, in cui si imposta cosa l'utente 
proprietario, il gruppo e gli altri utenti possono fare con questo file

La rappresentazione simbolica consiste nell'applicare al file da 1 a 3 
cifre per ogni tipologia di accesso (proprietario, gruppo, altri)

Passiamo alla pratica:

Per impostare il proprietario si usa il comando chown (change owner), e 
la sintassi è chown utente:gruppo nomefile

es: chown pedro:user miofile

Questo imposta come proprietario l'utente pedro, e il gruppo user 
(ovviamente ricordiamoci che per ogni utente di solito corrisponde il 
suo gruppo con lo stesso nome)

Per impostare i permessi si usa il comando chmod (change mode), e si può 
utilizzare sia la notazione ottale che quella simbolica.

La notazione ottale è la più semplice, si usa il comando chmod xxx nomefile

Al posto di xxx si userà la somma dei permessi sotto descritti, tenendo 
conto che la prima cifra riguarda i permessi per il proprietario, la 
seconda per il gruppo e la terza per gli altri.

0 – Nessun permesso
1 – Esecuzione (il famoso bit delle precedenti mail)
2 – Scrittura
4 – Lettura

quindi se vogliamo dare i permessi in lettura ed esecuzione basti fare 4+1=5
Se vogliamo solo lettura ovviamente 4
Quindi se vogliamo che il proprietario legga ed esegua il file, ma il 
gruppo e gli altri utenti possono soltanto leggerlo imposteremo i 
permessi 544

es: chmod 544 miofile

se invece vogliamo utilizzare la notazione simbolica dobbiamo sapere che:

r - lettura
w - scrittura
x - esecuzione

qui diventa tutto un pò più complicato, perchè dobbiamo specificare per 
ogni tipologia di accesso i vari permessi.
Le 3 tipologie di accesso si distinguono con:

u - proprietario
g - gruppo
o - altri

e la sintassi del chmod è questa:

chmod "u=xxx", "g=xxx", "o=xxx" nomefile

al posto delle x andremo a scrivere i permessi in notazione simbolica, 
ma nel caso in cui non vogliamo impostare un determinato permesso basta 
solo che lo omettiamo:
es: chmod "u=rx", "g=r", "o=r" nomefile

Questo esempio imposta gli stessi permessi dell'esempio in notazione 
ottale, quindi è analogo a 544 in notazione ottale.

Spero sia stato chiaro nell'esposizione!

ciao





Maggiori informazioni sulla lista golem-hack