我有一个非 root 用户,我想授予他们 sudo 权限来启动和停止(等)systemd 服务文件,而无需密码。
\n我尝试在/etc/sudoers.d/servicename (其中[username]和[servicename]是实际名称)中创建以下文件:
[username] ALL=(root) NOPASSWORD: systemctl start [servicename]\n[username] ALL=(root) NOPASSWORD: systemctl stop [servicename]\n[username] ALL=(root) NOPASSWORD: systemctl restart [servicename]\nRun Code Online (Sandbox Code Playgroud)\n(对许多系统命令重复,例如reload// try-restart/ enable\xe2\x80\xa6)
但visudo告诉我这是一个语法错误。我该如何解决这个问题?
我想放入脚本(正在以非 root 用户身份运行)sudo systemctl stop [servicename]。
Ubuntu Linux 18.04,来自 ubuntu 的 systemd(这是 v245)。我也希望它能在 Ubuntu 20.04 上运行。
\n小智 8
您可以通过使用以下内容来实现您想要的:
Cmnd_Alias USER_SERVICES = /usr/bin/systemctl start [servicename], /usr/bin/systemctl stop [servicename], /usr/bin/systemctl restart [servicename]
[username] ALL=(ALL) NOPASSWD:USER_SERVICES
Run Code Online (Sandbox Code Playgroud)
您可以通过在命令之间放置逗号 (,) 向 USER_SERVICES 添加更多命令。始终使用命令的完整路径。
| 归档时间: |
|
| 查看次数: |
13496 次 |
| 最近记录: |