如何使用systemd设置Docker服务的umask

如何使用systemd设置Docker服务的umask

我想启动我的 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设置的Dockersystemd看到你的umask如你所期望的吗?

您的systemd语法看起来是正确的,所以我认为这可能是对该指令作用的误解Umask=

相关内容