单元文件中使用的 systemd 指令位于文档使用混合大小写列出,例如UMask
or AccuracySec
。实际上是否有必要遵循这个确切的措辞,或者这只是一个好的做法,但解析实际上不区分大小写?我找不到任何东西文档也不在源代码。
更具体。这是覆盖该值的 Drop-In 示例UMask
:
[Service]
UMask=0027
如果使用不同的大小写来编写该UMask
指令是否可以正确读取?
[Service]
umask=0027
举UMask
个例子,因为据我所知,systemd 指令名称是唯一一个像这样大写的术语的地方。 UNIX 命令名umask
全部小写,这并不奇怪。甚至是systemd文档当该术语不是全小写的命令名称时,拼写该术语。
… 每个用户掩码也可以通过...设置
答案1
是的,指令名称区分大小写。
太长了;博士
您可以通过设置值然后运行systemctl show
以列出为该单元设置的所有指令来凭经验检查这一点。
没有任何带有默认 umask 值的 drop-ins 的默认状态:
$ systemctl show sshd
…
UMask=0022
…
如果您通过 Drop-In 正确设置了该值,则该值会发生变化:
$ cat /etc/systemd/system/sshd.service.d/override.conf
[Service]
UMask=0027
$ systemctl show sshd
…
UMask=0027
…
但是,如果您在指令名称中使用了不正确的字母大小写,则不会选择该值:
$ cat /etc/systemd/system/sshd.service.d/override.conf
[Service]
umask=0027
$ systemctl show sshd
…
UMask=0022
…
| grep -i umask
无论情况如何,您都可以使用查看已处理的指令:
$ systemctl show sshd | grep -i umask
UMask=0022
实验时,不要忘记systemctl daemon-reload
对单元文件进行任何更改后运行。