请不要问为什么,但是可以做到吗?
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 用户,那么只需向他询问当前密码即可。