[Flug] Comportamento strano sui permessi

Niccolo Rigacci niccolo@rigacci.org
Mer 17 Feb 2010 17:22:52 CET


On Wed, Feb 17, 2010 at 11:56:01AM +0100, Daniele Masini wrote:

> $ ls -lnd /test_user
> drwxrwxr-x 2 501 501 4096 17 feb 09:42 /test_user/
> 
> $ ./esempio
> effective uid = 500  effective gid = 500
> real uid = 501  real gid = 501
> 
> $ ls -ln
> totale 20
> -rwsrwsrwx 1 500 500 5434 17 feb 09:52 esempio
> -rw-rw-r-- 1 500 500  288 17 feb 09:52 esempio.c
> -rw-rw-r-- 1 500 500    0 17 feb 10:00 file
> 
> *** Togliendo il permesso di scrittura in test_user per gli altri
> utenti, l'utente 500 non dovrebbe più avere il permesso di creare file
> al suo interno. E invece può.

Il real gid (501) viene usato per scrivere nella directory (visto 
che l'effective uid non basta), quindi l'effective uid (500) 
viene usato per possedere il file (come è normale aspettarsi).

Il real gid (501) devi pensarlo come uno dei gruppi supplementari 
a cui appartiene l'utente:

There isn't a real and effective set of supplementary gids; 
there's just one single set. And on one hand, they are part of 
the effective privilege of a process, because they're used in 
determining whether e.g. a process is given access to a file. But 
on the other hand, invoking a setgid application doesn't alter 
this group vector the least. 

Fonte: http://www.lst.de/~okir/blackhats/node23.html

-- 
Niccolo Rigacci
Firenze - Italy



Maggiori informazioni sulla lista flug