我想启动我的 Docker 服务系统umask 为 0002(而不是默认的 0022)。所以我/etc/systemd/system/docker.service.d/override.conf
在下面创建了一个覆盖文件
[Service]
UMask=0002
并重新加载守护进程systemctl daemon-reload
并重新启动 Docker 服务。但是当我查看时,/proc/<PID>/status
我仍然将 0022 视为 umask,您知道我做错了什么吗?
答案1
让我们来分解一下。
Umask=
记录在man systemd.exec
.您可以通过检查找到它记录在哪个手册页中man systemd.directives
。它被记录为:
“控制文件模式创建掩码。”
您在中看到的输出/proc/<pid>/status
记录在 中man proc
。它被记录为:
“进程umask”。
因此,首先,不清楚您的检查是否是对systemd
您设置的指令的正确测试。更好的测试是查看 Docker 创建的文件。被创建为什么umask
?
其次,检查你的systemd
指令是否真正生效。查看以下输出:
systemd-analyze dump
在输出中搜索Docker
,然后您可以找到Umask
为该服务systemd
设置的Docker
。systemd
看到你的umask
如你所期望的吗?
您的systemd
语法看起来是正确的,所以我认为这可能是对该指令作用的误解Umask=
。