Esto es algo en lo que no he podido encontrar mucha información, por lo que agradecería cualquier ayuda.
Mi entendimiento es así. Toma el siguiente archivo:
-rw-r----- 1 root adm 69524 May 21 17:31 debug.1
El usuario phil
no puede acceder a este archivo:
phil@server:/var/log$ head -n 1 debug.1
cat: debug.1: Permission denied
Si phil
se agrega al adm
grupo, puede:
root@server:~# adduser phil adm
Adding user `phil' to group `adm' ...
Adding user phil to group adm
Done.
phil@server:/var/log$ head -n 1 debug.1
May 21 11:23:15 server kernel: [ 0.000000] DMI: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.7.5.1-0-g8936dbb-20141113_115728-nilsson.home.kraxel.org 04/01/2014
Si, sin embargo, un proceso que se inicia al mismo tiempo establecer explícitamente la user:group
que phil:phil
no puede leer el archivo. El proceso comenzó así:
nice -n 19 chroot --userspec phil:phil / sh -c "process"
Si el proceso se inicia como phil:adm
, puede leer el archivo:
nice -n 19 chroot --userspec phil:adm / sh -c "process"
Entonces la pregunta realmente es:
¿Qué tiene de especial ejecutar un proceso con un combo de usuario / grupo específico que impide que el proceso pueda acceder a archivos propiedad de grupos suplementarios de ese usuario y hay alguna forma de evitarlo?