如何授予用户 root 访问权限而不向其提供 root 密码

如何授予用户 root 访问权限而不向其提供 root 密码

场景是这样的:

  • 我有一台开发机器,我想(需要)拥有 root 访问权限
  • 我们的管理员使用自己的 root 用户凭据设置机器。解释是,如果出现问题或他需要更改某些内容,他只需记住一个密码即可
  • 然后他继续授予每个用户“sudo”访问权限,而无需询问密码

现在我真的很讨厌 sudo 不提示我输入密码。如果一个用户配置赋予我和管理员完整的 root 权限(2 次登录),而 sudo 提示我输入密码(而不是 root),那该如何配置呢?

答案1

输入visudo,你会看到类似这样的内容:

<your_user>  ALL=(ALL)   NOPASSWD:ALL

如果您希望sudo提示输入密码,只需删除NOPASSWD

<your_user>  ALL=(ALL)   ALL

更新

正如 @MikeyB 提到的,默认情况下,sudo将提示输入调用用户的密码。但是如果你打开标志targetpw

Defaults targetpw

sudo将询问目标用户的密码。

答案2

答案在于sudoers(5)文件,您可以使用 visudo(8) 编辑该文件。

正如那里的示例所示,您当前的 sudoers 设置将如下所示:

%wheel ALL = (ALL) NOPASSWD: ALL

您可以将其更改为:

%wheel ALL = (ALL) ALL

答案3

这只是一条评论...一些刚使用 sudo 的人可能会犯以下错误:sudo -u root -i 或 sudo -s 或 sudo -i --> 这会询问您的密码,然后如果成功,它会为您提供一个以 root 权限运行的全新 shell 环境 (/bin/bash)... 太棒了... 是的,但是“sudo 新手”想要创建一个文件...然后他输入了以下内容:sudo touch myEpicStoriesWithSudo.txt

--> 当然现在 sudo 会要求输入密码...但不是你自己的密码!!! 而是 root 的密码因为你不是你 --> 你是 root

并且您可以用您想要的任何通用用户替换 root,当我们转到 sudo“sudo -u oracle -i”时,我遇到了很多 DBA 的问题;)

我希望这可以帮助您解决 sudo 以及随之而来的所有精神分裂问题 ;) 问候

相关内容