我试图让 sudo 询问目标密码,除非由root
.这就是我所做的:
Defaults:!root targetpw
这样它会要求我输入密码,如果我这样做:
Defaults:yuri targetpw
它要求目标用户的密码,但这不是我想要的。
答案1
您所能做的就是设置targetpw
为默认值,但这不需要root
输入任何密码。您无法配置sudo
来执行此操作,而且它也没有任何意义,因为root
可能总是做他想做的任何事情(su
也不会要求输入密码,是吗?)。
所以说
Defaults targetpw
进入你的/etc/sudoers
文件,你应该有su
行为。
答案2
从sudoers
手册页:
An exclamation point (‘!’) can be used as a logical not operator in a list or
alias as well as in front of a Cmnd. This allows one to exclude certain values.
For the ‘!’ operator to be effective, there must be something for it to exclude.
For example, to match all users except for root one would use:
ALL,!root
If the ALL, is omitted, as in:
!root
it would explicitly deny root but not match any other users. This is different
from a true “negation” operator.
所以,
Defaults:ALL,!root targetpw
应该是你正在寻找的。