systemd が再起動すると、Systemd /dev/xx アクセスが変更されます。

systemd が再起動すると、Systemd /dev/xx アクセスが変更されます。

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ですdevtmpfstmpfs唯一の目的は、起動時に作成されたデバイスノードを保持することです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

関連情報