我在 ubuntu 服务器上尝试使用命令
sudo /usr/binsystemctl start myscript.service
没有密码。我希望执行此命令时无需询问密码。
我用了
sudo visudo
并写道:
peon ALL =NOPASSWD: /usr/bin/systemctl restart myscript.service
peon ALL =NOPASSWD: /usr/bin/systemctl start myscript.service
peon ALL =NOPASSWD: /usb/bin/systemctl stop myscript.service
peon ALL =NOPASSWD: /usb/bin/systemctl
peon ALL=(ALL) NOPASSWD:/usr/bin/systemctl /usr/sbin/reboot
我尝试过:
peon ALL =NOPASSWD: /usr/bin/systemctl restart myscript.service,/usr/bin/systemctl start myscript.service,/usb/bin/systemctl stop myscript.service
但是每次我在 bash 终端上使用此命令时,ubuntu 都会要求我输入密码。
答案1
因此,经过几次尝试后,我找到了一个解决方案......
首先,我将命令放在 visudo 的最后一行,而不是中间。
第二:我使用了这个语法:
peon ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart myscript.service