I permessi in Linux

Mattepuffo's logo
I permessi in Linux

I permessi in Linux

Per permessi si intende cosa un utente può fare su file e directory e cosa no.

(Ovviamente l'utente root può fare tutto).

Per vedere i permessi apriamo un terminale e digitiamo:

$ ls -la , dove il parametro -l ci mostra gli attributi estesi dei file e -a ci mostra i file nascosti

Questo è un output tipico:

drwxr-xr-x+  24 imac  staff    816 11 Dic 16:56 .
drwxr-xr-x    5 root  admin    170  7 Apr  2008 ..
-rw-------    1 imac  staff      3  7 Apr  2008 .CFUserTextEncoding
-rw-r--r--@   1 imac  staff  12292 12 Gen 16:40 .DS_Store
drwx------   30 imac  staff   1020 19 Gen 20:03 .Trash
drwxr-x--x    3 imac  staff    102 29 Set  2008 .adobe
-rw-------    1 imac  staff    345 11 Dic 17:10 .bash_history
drwx------    3 imac  staff    102 12 Apr  2008 .cups
drwxr-xr-x    3 imac  staff    102  5 Giu  2008 .dvdcss
-rw-------    1 imac  staff     35 26 Nov 22:56 .lesshst
drwxr-xr-x    3 imac  staff    102 19 Mag  2008 .mplayer
-rw-r--r--    1 imac  staff     47 14 Gen 17:10 .parallels_settings
drwx------@   4 imac  staff    136  5 Nov 18:59 Applications
drwx------+  15 imac  staff    510 12 Gen 20:26 Desktop
drwx------+  44 imac  staff   1496 11 Dic 17:06 Documents
drwx------+ 338 imac  staff  11492 21 Gen 17:06 Downloads
drwx------+  46 imac  staff   1564 17 Nov 19:46 Library
drwxr-xr-x    6 imac  staff    204 13 Apr  2008 LimeWire
drwx------+   4 imac  staff    136  5 Giu  2008 Movies
drwx------+   5 imac  staff    170 13 Apr  2008 Music
drwx------+ 212 imac  staff   7208 24 Set 17:21 Pictures
drwxr-xr-x+   5 imac  staff    170  7 Apr  2008 Public
drwxr-xr-x+   6 imac  staff    204 11 Apr  2008 Sites
-rw-r--r--@   1 imac  staff    557 23 Giu  2008 profiles.bin

Sulla prima colonna troviamo il tipo e appunto i permessi.

Dove vedete una d vuol dire che è una directory, mentre l vuol dire che un link e - un file.

I permessi sono a gruppi di tre, e indicano i del proprietario, del gruppo, e di tutti gli altri.

r vuol dire scrittura, w lettura e x esecuzione.

Guardiamo ad esempio la riga del file .dvdcss.

Su questo file il proprietario ha i permesso rwx (quindi lettura, scrittura, esecuzione), il gruppo xr (solo esecuzione e scrittura), gli altri solo esecuzione.

Ovviamente sia per file che per directory possiamo in ogni momento cambiare i permessi tramite il comando chmod.

Chmod ha due tipi di sintassi: ottale e simbolica.

Io uso la prima che secondo me è più semplice, quindi parlerò di questa.

Il sistema ottale numera i permessi da 0 a 7, ed in grado con un numero a testa di definire i permessi per entrambi (invece che tre lettere a testa)

I permessi vanno così:

  • 0 nessun permesso
  • 1 esecuzione
  • 2 scrittua
  • 4 lettura

Facciamo qualche esempio.

$ chmod 777 file.txt

Risultato:

-rwxrwxrwx 1 matte users       0 22 gen 23:29 file.txt

Altro esempio:

$ chmod 640 file.txt

-rw-r----- 1 matte users       0 22 gen 23:32 file.txt

In sostanza nel primo esempio sia il proprietario, che il gruppo che gli altri hanno tutti i permessi.

Nel secondo invece il proprietario ha i permessi di lettura e scrittua (4+2=6), il gruppo di lettura (4), gli altri nessun permesso.


Oltre i permessi è possibile cambiare anche il proprietario tramite chown.

La sintassi è semplice: chown proprietario:gruppo file.

$ chown matte:audio file.txt

-rw-r----- 1 matte audio      0 22 gen 23:32 file.txt

Come vedete rispetto a prima è cambiato il gruppo di appartenenza.


Infine un parametro molto importante è -R se vogliamo cambiare i permessi a una directory e a tutte le sotto directory in una botta sola:

$ chmod 744 -R directory

$ chown -R matte:users directory


Condividi

Commentami!