我试图在每次执行时使用sudo强制执行特定命令的密码,无论密码是否在一秒钟之前输入.
有没有办法做到这一点?
有没有办法做到这一点?
谷歌上的每个搜索结果都解释了如何使用NOPASSWD删除密码提示,这是正常的,但我仍然希望SPECIFIC命令在每次执行时都获得密码提示,即使密码刚刚输入一秒钟.
我的方法是这样的:
Defaults !authenticate Cmnd_Alias WITHPW = rm -R,shutdown,Defaults:WITHPW authenticate
有人可以解释这是正确的方式还是我能做些什么?
谢谢,
一个/
解决方法
两个选项之间存在差异:
authenticate
If set,users must authenticate themselves via a password
(or other means of authentication) before they may run commands. This
default may be overridden via thePASSWD
andNOPASSWD
tags. This flag
is on by default.
passwd_timeout
Number of minutes before the sudo password prompt times
out,or0
for no timeout. The timeout may include a fractional
component if minute granularity is insufficient,for example2.5
. The
default is5
.
虽然您可以为每个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