systemd 脚本在启动时未设置正确的文件权限

systemd 脚本在启动时未设置正确的文件权限

我编写了一个简单的服务,它调用一个 bash 脚本,该脚本应该在启动时更改文件权限。问题是,该服务似乎不起作用,因为用户登录时权限没有改变。

但是,当我手动运行该服务时,sudo systemctl start setpermissions.service它可以运行并且文件权限设置正确。

这是服务运行前的文件权限:

-rw-r--r-- 1 root root 4096 Oct 25 09:04 /sys/module/8723cs/parameters/rtw_scan_interval_thr

当我手动运行它时(即所需的文件权限):

-rw-rw-rw- 1 root root 4096 Oct 25 09:10 /sys/module/8723cs/parameters/rtw_scan_interval_thr

设置权限.服务

[Unit]
Description="Set file permissions"

User=root

[Service]
StandardOutput=journal
ExecStart=/bin/sh /usr/bin/setpermissions.sh

[Install]
WantedBy=multi-user.target

我这里遗漏了什么?我的服务配置不正确吗?

注意/上下文:此服务的全部目标是,当用户尝试写入时,不会提示输入 root 密码sys/module/8723cs/parameters/rtw_scan_interval_thr

答案1

该命令sudo systemctl start setpermissions.service在当前会话中立即启动服务。

要在启动时启用服务,您需要运行以下命令:

sudo systemctl enable setpermissions.service

您还可以通过一个命令启用并启动该服务:

 sudo systemctl enable --now setpermissions.service

相关内容