Questo è qualcosa su cui non sono stato in grado di trovare molte informazioni, quindi qualsiasi aiuto sarebbe apprezzato.
La mia comprensione è così. Prendi il seguente file:
-rw-r----- 1 root adm 69524 May 21 17:31 debug.1
L'utente phil
non può accedere a questo file:
phil@server:/var/log$ head -n 1 debug.1
cat: debug.1: Permission denied
Se phil
viene aggiunto al adm
gruppo, può:
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
Se, tuttavia, viene avviato un processo mentre si imposta esplicitamente user:group
su phil:phil
esso, non è possibile leggere il file. Il processo è iniziato in questo modo:
nice -n 19 chroot --userspec phil:phil / sh -c "process"
Se il processo viene avviato come phil:adm
, può leggere il file:
nice -n 19 chroot --userspec phil:adm / sh -c "process"
Quindi la domanda è davvero:
Cosa c'è di speciale nell'esecuzione di un processo con una specifica combinazione utente / gruppo che impedisce al processo di accedere ai file di proprietà di gruppi supplementari di quell'utente e c'è un modo per aggirare questo?