我编写了一个简单的服务,它调用一个 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