我个人喜欢 Ubuntu 的默认 sudo 行为: - 无法 root 登录 - “admin”组授予“ALL=(ALL) ALL” - 使用 sudo 时会要求“admin”组中的用户输入其用户密码(而不是 root 密码)。
[我喜欢它,因为这样就不需要几个人共享 root 密码了。其他观点可能也有充分的理由 - 但这不应该是这个问题的主题。]
现在我尝试在 Debian Etch 中重新创建此行为。它基本上可以工作,但有一个重要的区别:Debian 不要求输入密码。它应该要求输入用户的密码。
我编辑了 sudoers 文件,使其与 Ubuntu 中的完全相同,并将用户添加到新创建的“管理员”组。我还需要做什么才能在 Debian(和其他 Linux)中获得 Ubuntu 的行为?
谢谢克里斯
答案1
等待 15 分钟后问题就解决了... 现在它正常工作了,它只是让密码保持 15 分钟 - 这是正常的,但我不知道它甚至在注销/登录后也会保留密码。我根本没想到这一点。
现在一切都正常了,谢谢你的回答!(我可以/应该以某种方式关闭这个问题吗?)
答案2
您确定 sudoers 文件中的任何地方都没有 NOPASSWD 吗?
答案3
如果它不要求输入密码,则说明您是 root 用户。我的配置有效:
维苏多
%admin ALL=(ALL) ALL
/etc/组
admin:x:1000:user1,user2
答案4
sudo
15 分钟是时间戳有效的默认时间长度。此超时时间可以从命令行进行操作,也可以在sudoers
文件中设置。
要“取消”超时以便下次使用时sudo
将请求密码,请使用以下命令:
sudo -k
或者,如果您想延长当前超时 - 即重新启动超时“计时器” - 请使用以下命令:
sudo -v
如果超时时间为 15 分钟,则sudo -v
执行命令后您将有 15 分钟的时间,然后才会再次要求输入密码。
在该sudoers
文件中,可以像这样设置超时:
Defaults timestamp_timeout=10
(这将超时设置为 10 分钟。)