场景是这样的:
- 我有一台开发机器,我想(需要)拥有 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 以及随之而来的所有精神分裂问题 ;) 问候