devtmpfs가 네임스페이스 측면에서 특별한지 궁금합니다.
이것은 내 시스템 정보입니다(Vagrant를 사용하여 테스트).
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
기본 데모를 통해 다음을 가장 잘 설명할 수 있습니다.
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
proc 및 sys를 마운트할 수 있는 권한이 있지만 devtmpfs는 마운트할 수 없습니다.
그러나 tmpfs는 작동합니다(동일한 unshare 명령을 사용하여 실행할 수도 있음).
root@ubuntu-xenial:~/test# mount -t tmpfs tmpfs ./dev/
EDIT2: 이전 편집 내용을 sourcejedi의 피드백을 기반으로 답변으로 이동했습니다.
답변1
나는 이것이 파일 시스템 플래그 FS_USERNS_MOUNT
(https://lwn.net/Articles/652468/).
커널을 빠르게 grep하면 설정되지 않은 것으로 나타납니다 devtmpfs
.livegrep.com 결과
누구든지 더 나은 답변을 갖고 있다면 기꺼이 받아들이겠습니다!