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
。