O devtmpfs é especial em relação aos namespaces? um problema de permissões

1

Eu estou querendo saber se o devtmpfs é especial em relação aos namespaces.

Aqui estão as informações do meu sistema (usando o Vagrant para testes)

vagrant@ubuntu-xenial:~/test$ uname -a
Linux ubuntu-xenial 4.4.0-135-generic #161-Ubuntu SMP Mon Aug 27 10:45:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Uma demonstração básica explica melhor:

vagrant@ubuntu-xenial:~/test$ unshare --ipc --uts --user --mount --fork --pid --net --map-root-user
root@ubuntu-xenial:~/test# mkdir proc
root@ubuntu-xenial:~/test# mkdir sys
root@ubuntu-xenial:~/test# mount -t proc proc ./proc/
root@ubuntu-xenial:~/test# mount -t sysfs sysfs ./sys/
root@ubuntu-xenial:~/test# mkdir dev
root@ubuntu-xenial:~/test# mount -t devtmpfs devtmpfs ./dev/
mount: permission denied
root@ubuntu-xenial:~/test# exit
logout

Eu tenho o direito de montar proc e sys, mas não um devtmpfs?

Um tmpfs funciona, no entanto (também executado com o mesmo comando unshare)

root@ubuntu-xenial:~/test# mount -t tmpfs tmpfs ./dev/

EDIT2: moveu a edição anterior para uma resposta baseada no feedback do sourcejedi.

    
por user2460234 15.09.2018 / 19:36

1 resposta

2

Acredito que esteja relacionado ao sinalizador do sistema de arquivos FS_USERNS_MOUNT ( link ).

Um rápido grep do kernel parece indicar que ele não está definido para devtmpfs : resultados do livegrep.com

Se alguém tiver uma resposta melhor, ficarei feliz em aceitá-la!

    
por 15.09.2018 / 21:54