next up previous contents index return to home!
Next: File permission bits Up: Il File System di Previous: Funzione dup()   Indice   Indice analitico

Permessi e proprietà di un file

Ad ogni utente viene associato un ID unico nel sistema (user ID) e almeno un ID di gruppo. Un processo lanciato da un certo utente ha almeno 6 ID:

Ogni file ha un proprietario (owner) e un gruppo di appartenenza (group owner). Di solito, effective user ID coincide con real user ID (cioè con l'ID di chi ha lanciato il processo) e effective group ID coincide con real group ID. Quindi, se l'utente 150, appartenente al gruppo 300 lancia il comando ls, allora questo processo avrà effective user ID pari a 150 e effective group ID pari a 300, non importa chi sia il proprietario del file /bin/ls

Esiste però un bit nel descrittore del file eseguibile (detto set-user-ID) che, nel caso sia settato, fa in modo che effective user ID coincida con il proprietario del file e effective owner ID coincida con il gruppo di appartenenza del file. Per esempio, il comando passwd, che appartiene al root, ha il bit set-user-ID settato, e quindi quando viene eseguito ha effective user ID pari all'ID del root. Questo viene fatto per consentire ad un utente normale di poter cambiare la sua password autonomamente: infatti, normalmente un utente non può cambiare il file passwd, e solo il root può farlo.

Ovviamente, l'uso di tale bit è molto pericoloso dal punto di vista della sicurezza e deve essere limitato il più possibile a pochi casi specifici.



Subsections
next up previous contents index
Next: File permission bits Up: Il File System di Previous: Funzione dup()   Indice   Indice analitico
Giuseppe Lipari 2002-10-27