我试图让特定用户能够使用 sudo 运行两个命令,而无需提示输入密码。这就是我所做的:
# temporarily grant privs to nitsadmin
Cmnd_Alias REBOOT = /usr/sbin/reboot
Cmnd_Alias STOP_START_CRUSHFTP = /var/opt/Crushftp/crushftp_init.sh
nitsadmin ALL=(ALL) NOPASSWD: STOP_START_CRUSHFTP, REBOOT
reboot 命令完全按预期工作,但 crushftp_init.sh 命令坚持提示输入密码。
帮助?
在回复第一条评论时,这就是我所看到的:
nitsadmin@dropbox:~$ sudo /var/opt/CrushFTP10/crushftp_init.sh stop
[sudo] password for nitsadmin:
所以我很确定这sudo
是在提示输入密码。
您可能需要更改:
至:
sudoers 文件中的别名需要与命令的运行方式完全匹配。所以
/var/opt/Crushftp/crushftp_init.sh
不匹配_/var/opt/Crushftp/crushftp_init.sh install
编辑:这将允许
/var/opt/Crushftp/crushftp_init.sh
在没有密码的情况下使用 sudo 运行任何变体。Cmnd_Alias STOP_START_CRUSHFTP = /var/opt/Crushftp/crushftp_init.sh stop
如果您想限制为仅停止等,您可以将您的别名更改为。