如何检查文件是否具有 SystemD 单元文件的适当权限/所有权?

如何检查文件是否具有 SystemD 单元文件的适当权限/所有权?

基本上是标题。有办法吗?或者是一种古怪的方式,无论如何。据我所知,没有“ConditionPermissions =”,“ConditionOwnership =”或类似的东西。

答案1

如果您想在启动 systemd 服务之前检查某些文件权限或所有权,您可以在 systemd 单元文件中运行一个脚本,如本例所示,我在其中检查文件是否具有不同于 644 的权限。

[Service]
ExecStartPre=/bin/bash -xc 'stat -c %a "myfile" != '644' && exit 1 || exit 0'

如果 ExecStartPre 返回错误,则启动过程的其余部分将中止。

通常这种方法被认为不安全,最好的方法是通过设置来确保权限是正确的,而不是通过某些条件进行检查。

相关内容