如何使用 sudo 模拟 su 的行为?

如何使用 sudo 模拟 su 的行为?

我试图让 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

应该是你正在寻找的。

相关内容