네임스페이스용 devtmpfs에 특별한 것이 있나요? 권한 문제

네임스페이스용 devtmpfs에 특별한 것이 있나요? 권한 문제

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 결과

누구든지 더 나은 답변을 갖고 있다면 기꺼이 받아들이겠습니다!

관련 정보