Docker 컨테이너 A에서 systemd를 다시 시작하면 /dev/XXX
액세스 권한이 변경됩니다. 예를 들어:
앞으로:
docker exec -it xxxx bash
chmod 755 /dev/random
하다:
docker restart xxxx
뒤쪽에:
docker exec -it xxxx bash
/dev/random
로 변경됩니다0666
systemd 소스 코드의 어디에서 systemd가 이것을 수정합니까? 이것이 논리적입니까?
이것은 systemd-udevd와 관련이 있습니까?
Execute /usr/lib/systemd/systemd-udevd? [Yes, No, Skip] [** ] (4 of 6) A start job is running for Create Volatile Files and Directories (3min 48s / no limit)y
[*** ] (5 of 6) A start job is running for Mark the need to relabel after reboot (3min 49s / no limit)(src/core/manager.c:1519) Got notification message for unit -.slice
(src/core/manager.c:1519) Got notification message for unit systemd-udevd.service
(src/core/service.c:2741) systemd-udevd.service: Got notification message from PID 503 (READY=1)
(src/core/service.c:2785) systemd-udevd.service: got READY=1
(src/core/service.c:878) systemd-udevd.service changed start -> running
(src/core/job.c:811) Job systemd-udevd.service/start finished, result=done
[ OK ] Started udev Kernel Device Manager.
답변1
/dev
"실제" 파일 시스템이 아니라 ramdisk 또는 ramdisk입니다 devtmpfs
. tmpfs
유일한 목적은 부팅 시 생성된 장치 노드를 보관하는 것입니다 udev
.
df
's 옵션을 사용하면 -T
이를 볼 수 있습니다 :
# df -T /dev
Filesystem Type 1K-blocks Used Available Use% Mounted on
udev devtmpfs 498256 0 498256 0% /dev
가상 디스크이기 때문에 재부팅 후에도 내용이 유지되지 않습니다. 이는 의도적인 것이며 문제가 아닙니다. udev
시스템에 필요한 장치 노드는 부팅 시 생성됩니다.
/dev/random
재부팅 후 특정 비표준 권한을 가지 려면 규칙 파일을 생성하여 /etc/udev/rules.d/
원하는 권한을 설정해야 합니다. 그러나 왜 당신 755
이 원하는지 이해하기 어렵습니다 /dev/random
.