对于非 sudo 用户,使用三个无密码命令时 sudoers.d 文件不起作用

对于非 sudo 用户,使用三个无密码命令时 sudoers.d 文件不起作用

我想要用户名 steamy(非 sudo 用户)执行三个命令(即 systemctl start|stop|restart factorio)而不输入密码。

我正在使用名为 factorio 的 sudoers.d 文件:

$ sudo ls -l /etc/sudoers.d/
total 8
-r--r----- 1 root root 174 Sep  4 16:49 factorio
-r--r----- 1 root root 958 Jan 17  2018 README

我创建/编辑的factorio文件的内容$ sudo visudo -f /etc/sudoers.d/factorio

$ sudo cat /etc/sudoers.d/factorio      
steamy ALL=(ALL) NOPASSWD: /usr/bin/systemctl start factorio, /usr/bin/systemctl stop factorio, /usr/bin/systemctl restart factorio

当用户名 steamy 属于 sudo 组时,这三个命令(即 systemctl start|stop|restart factorio)可以正常工作,而不需要密码。

当用户名 steamy 不在 sudo 组内时,这三个命令需要密码,正确输入密码后会失败。

使用 Ubuntu 20.04.6 LTS。

当 steamy 成为 sudo 组的一部分时

$ sudo -l
Matching Defaults entries for steamy on steamnuc00:
    env_reset, timestamp_timeout=60, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

User steamy may run the following commands on steamnuc00:
    (ALL : ALL) ALL

当 steamy 不属于 sudo 组时

$ sudo -l
[sudo] password for steamy: 
Sorry, user steamy may not run sudo on steamnuc00.

相关内容