我有一个我想停止的服务当用户登录工作站时。
我尝试将 bash 脚本放入 中/etc/profile.d/
,它会在用户登录时运行,但是会弹出一条错误消息,提示“需要交互式身份验证”以停止服务。
用户可能没有 root 权限。有没有办法让 /etc/profile.d 中的脚本以运行该脚本所需的权限运行,而不需要登录用户提供它们?
这是脚本:
~$ cat /etc/profile.d/stop-netrender-slave.sh
#!/bin/bash
systemctl stop netrender-slave
编辑:
是否可以将服务作为特定组运行,以便该组成员的用户有权停止该服务?
答案1
您可以使用sudo
。它允许非 root 用户以root
.您可以对其进行配置(使用标志NOPASSWD
),以便某些用户无需输入密码即可运行某些命令。