[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