Observei o seguinte fenômeno que não consigo explicar. Depois de adicionar o CAP_SYS_ADMIN
recurso, unshare
não é mais possível gravar em arquivos /proc/self/setgroups
.
Na verdade, gravar nesse arquivo requer a capacidade, mas isso é obtido alterando o namespace do usuário. Então, por que adicionar o recurso ao processo pai impede a gravação nesse arquivo?
me@myhost:~$ unshare -r
root@myhost:~# exit
logout
me@myhost:~$ sudo setcap cap_sys_admin=ep /usr/bin/unshare
me@myhost:~$ unshare -r
unshare: cannot open /proc/self/setgroups: Permission denied
me@myhost:~$ sudo setcap cap_sys_admin= /usr/bin/unshare
me@myhost:~$ unshare -r
root@myhost:~#
A propósito: estou executando o Ubuntu 16.04.4 LTS com kernel versão 4.4 e a versão do util-linux (incluindo unshare
) é 2.27.1.