如何在 sudoers 中定义带参数和不带参数的命令?
我努力了:
user ALL= EXEC: PASSWD: /sbin/reboot ""
user ALL= EXEC: PASSWD: /sbin/reboot -f ""
但“sudo restart -f”不起作用。
我可以在不使用“/sbin/reboot -f”添加脚本reboot_f.sh 的情况下执行某些操作吗?
答案1
在线上:
user ALL= EXEC: PASSWD: /sbin/reboot ""
引号表明sudo
您只允许用户使用/sbin/reboot
不带参数的命令。否则,它会假设您允许用户使用带有任何参数的此命令。
下一行应更正为:
user ALL= EXEC: PASSWD: /sbin/reboot -f
由于专门提供了参数,sudo
因此限制用户仅使用与给定模式匹配的参数(此处为文字选项-f
)的命令。
在最初的形式中,您要求用户使用(文字选项-f
后跟一个空值):
user@host$ sudo /sbin/reboot -f ""