我试图用sudo强制执行特定命令的密码,而不pipe密码是否在第二次input之前。 有没有办法呢?
谷歌上的每一个search结果只是解释如何删除密码提示与NOPASSWD这是好的,但我仍然希望SPECIFIC命令获得密码提示每次他们得到执行,即使密码刚刚进入一秒钟之前。
我的做法是这样的:
Defaults !authenticate Cmnd_Alias WITHPW = rm -R, shutdown, Defaults:WITHPW authenticate
有人可以解释,如果这是正确的方式,或我能做些什么?
谢谢,
一个/
两种select有所不同:
authenticate如果设置,用户必须通过密码(或其他authentication方式)进行身份validation,然后才能运行命令。 这个默认值可以通过
PASSWD和NOPASSWD标签覆盖。 此标志默认打开。
passwd_timeoutsudo密码提示超时之前的分钟数,或者没有超时的分钟数。 如果微小粒度不足,超时可能包括小数分量,例如
2.5。 默认值是5。
虽然您可以设置每个Cmnd_Alias , passwd_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_List或Cmnd_Alias你需要! 前缀,从而导致:
Cmnd_Alias WITHPW = /usr/bin/rm -R, /usr/sbin/shutdown Defaults:!WITHPW passwd_timeout=0