需要特定命令的sudo密码

我试图用sudo强制执行特定命令的密码,而不pipe密码是否在第二次input之前。 有没有办法呢?

谷歌上的每一个search结果只是解释如何删除密码提示与NOPASSWD这是好的,但我仍然希望SPECIFIC命令获得密码提示每次他们得到执行,即使密码刚刚进入一秒钟之前。

我的做法是这样的:

Defaults !authenticate Cmnd_Alias WITHPW = rm -R, shutdown, Defaults:WITHPW authenticate 

有人可以解释,如果这是正确的方式,或我能做些什么?

谢谢,

一个/

两种select有所不同:

authenticate

如果设置,用户必须通过密码(或其他authentication方式)进行身份validation,然后才能运行命令。 这个默认值可以通过PASSWDNOPASSWD标签覆盖。 此标志默认打开。

passwd_timeout

sudo密码提示超时之前的分钟数,或者没有超时的分钟数。 如果微小粒度不足,超时可能包括小数分量,例如2.5 。 默认值是5

虽然您可以设置每个Cmnd_Aliaspasswd_timeout是正在尝试实现的正确选项。

然后,让我们看看Defaults的语法:

 Default_Type ::= 'Defaults' | 'Defaults' '@' Host_List | 'Defaults' ':' User_List | 'Defaults' '!' Cmnd_List | 'Defaults' '>' Runas_List Default_Entry ::= Default_Type Parameter_List Parameter_List ::= Parameter | Parameter ',' Parameter_List Parameter ::= Parameter '=' Value | Parameter '+=' Value | Parameter '-=' Value | '!'* Parameter 

当指定一个Cmnd_ListCmnd_Alias你需要! 前缀,从而导致:

 Cmnd_Alias WITHPW = /usr/bin/rm -R, /usr/sbin/shutdown Defaults:!WITHPW passwd_timeout=0