如何授予普通用户更改root密码的权限

如何授予普通用户更改root密码的权限

请不要问为什么,但是可以做到吗?

p/s:我知道这不是一件好事,假设高层管理人员中的某个不懂电脑的人想要某种东西控制通过服务器。

答案1

不要这样做...您可以给他们 root 的密码,或者您可以执行sudo passwd root(这假设 sudo 设置为使用用户密码或无密码,并且 passwd 是 sudo 已授权运行的命令用户)。

答案2

sudo是定制权限的瑞士军刀。您可以要求用户运行

sudo /usr/bin/passwd root

要了解如何启用此功能,请参阅 sudoers(5) 联机帮助页中的相关示例。

pete           HPPA = /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root

The user pete is allowed to change anyone's password except for root on the 
HPPA machines.  Note that this assumes passwd(1) does not take multiple 
usernames on the command line.

当然,你必须颠倒逻辑才能达到你的目的。因此,您将执行visudo,并添加一行,例如

user ALL = /usr/bin/passwd root

/etc/sudoers

答案3

也许您可以将此行添加到 sudoer 文件中(使用visudo),并替换phunehehe为用户名。

phunehehe localhost = NOPASSWD: /usr/bin/passwd

我不知道这是否打破了你作为“普通用户”的条件,因为在那之后他/她就拥有了如此大的权力。

编辑:根据 xenoterracide 的评论:)

答案4

如果您不信任 root 帐户的所有者,则可能无法阻止该 root 用户删除此特殊权限。如果您确实信任 root 用户,那么只需向他询问当前密码即可。

相关内容