Permessi ram.txt

Da Poetry Hacklab.

#Ram 12/12/03 ore 11:28 ora italiana
#ram@freaknet.org
#Poetry Hacklab http://poetry.freaknet.org
#poetry@freaknet.org

                                         _              
                        _ __   ___   ___| |_ _ __ _   _ 
                       | '_ \ / _ \ / _ \ __| '__| | | |
                       | |_) | (_) |  __/ |_| |  | |_| |
                       | .__/ \___/ \___|\__|_|   \__, |
                       |_|                        |___/ 
                 __  __ _       _ _   _               _        
                |  \/  (_)_ __ (_) | | | _____      _| |_ ___  
                | |\/| | | '_ \| | |_| |/ _ \ \ /\ / / __/ _ \ 
                | |  | | | | | | |  _  | (_) \ V  V /| || (_) |
                |_|  |_|_|_| |_|_|_| |_|\___/ \_/\_/  \__\___/ 
                                                               

Vediamo di capirci qualcosa sui permessi dei file.
Ogni singolo file nei sistemi UNIX e' di proprieta' di un utente e di un gruppo 
specifici. Ogni utente "possiede" i file da lui stesso creati o assegnatigli da un
altro utente con il comando 'chown':

  $chown "nome_utente" "nome_file"
oppure
  $chown "nome_utente.nome_gruppo" "nome_file"

Per quanto riguarda il gruppo, il sistema 
assegna al file l'appartenenza ad un gruppo in base al gruppo di cui l'utente fa parte.
Dal momento che un utente puo' fare parte di diversi gruppi puo' cambiare gruppo
di appartenenza con il comando 'chgrp':

  $chgrp "nome_gruppo" "nome_file"
  
Si usera' il comando 'groups' per sapere a che gruppo appartiene un utente:

  $groups "nome_utente"
  
I permessi definisco "chi" puo' fare determinate azioni su un file e quali sono
queste azioni che puo' fare su quello specifico file.
Si dividono in 4 gruppi: i primi tre di uso freguente, il quarto di uso piu' complesso.
I permessi sui gruppi definiscono cosa un appartenente a quel gruppo puo' fare
sul file e cosa uno non appartenente al gruppo.
Ogni sezione di permessi e' divisa in una "terna" di permessi:
"utente-gruppo-altri". I permessi sono:
lettura    --> il file puo' essere letto - in caso si tratti di una directory e' 
               possibile effettuare su di essa il comando "ls". Viene indicato con 
	       il carattere "r".
	    
scrittura  --> il file puo' essere scritto o modificato - in caso di directory il 
               suo valore consiste nel fatto che dentro la directory in questione
	       e' possibile creare e/o cancellare dei file. E' indicato con il 
	       carattere "w".
	    
esecuzione --> il file puo' essere eseguito - in caso di directory e' possibile
               usare in comando cd "nome_directory". E' indicato con il carattere "x".

Le tre categorie sopra citate (utente-gruppo-altri) contengono ciascuna tre permessi (r,w,x,) 
e vengono considerate dal sistema cone una seguenza di tre cifre in formato ottale.
Ogni cifra ottale corrisponde a tre cifre in base 2 (in binario) ovvero seguenze
di 1 e di 0. In questo modo abbiamo tre gruppi di cifre che ci permettono di settare
tutti i permessi. 
Per esempio la cifra ottale 3 corrisponde al numero binario 011 impostando a 0 il
permesso di lettura, a 1 quello di scrittura ed ad 1 quello di esecuzione.
Di seguito una tabella per comprendere meglio il passaggio dalla base 8 (ottale)
alla base 2 (binario):

   ottale   -->   binario
           <--
     0             000
     1             001
     2             010
     3             011
     4             100
     5             101
     6             110
     7             111
Ogni numero ottale ha un corrispondente binario attraverso il quale il sistema
setta i permessi sui nostri file.
Cosi':

Permesso                   ottale           binario
   r                         4                100
   w                         2                010
   x                         1                001 

Per capire meglio la cosa; nella terna "utente-gruppo-altri" bastera' che si sommino
gli ottali relativi, ad esempio:
 utente   rw     4+2=6
 gruppo   r      2
 altri    rx     2+1=3
623 ovvero 110 010 011 ovvero rw+r+rx
quindi digitando:
 
 $chmod 623 "nome_file"

gli attributi del file specificato saranno i seguenti:
rw-r--r-x
E' possibile, inoltre, impostare per gli eseguibili e le directory anche il bit di suid
e di sgid, si modifichera' il comportamento standard dei permessi, ma ci sono
problemi di sicurezza correlati a questo tipo di permessi.
Che dio ve la mandi buona.

Ram
 
Strumenti personali