Это то, что я не смог найти много информации, поэтому любая помощь будет оценена.
Мое понимание таково. Возьмите следующий файл:
-rw-r----- 1 root adm 69524 May 21 17:31 debug.1
Пользователь phil
не может получить доступ к этому файлу:
phil@server:/var/log$ head -n 1 debug.1
cat: debug.1: Permission denied
Если phil
он добавлен в adm
группу, он может:
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
Однако, если процесс запускается, в то время как явное задание user:group
для phil:phil
него не может прочитать файл. Процесс начался так:
nice -n 19 chroot --userspec phil:phil / sh -c "process"
Если процесс запущен как phil:adm
, он может прочитать файл:
nice -n 19 chroot --userspec phil:adm / sh -c "process"
Таким образом, вопрос на самом деле:
Что особенного в запуске процесса с определенной комбинацией пользователя / группы, которая не позволяет процессу получить доступ к файлам, принадлежащим дополнительным группам этого пользователя, и есть ли способ обойти это?