sudo 无密码会破坏其他 sudo -u 使用

sudo 无密码会破坏其他 sudo -u 使用

我有一个运行 ubuntu 服务器的虚拟机(最新的 LTS 忘记了实际版本号)。我已经设置 sudo 不要求输入密码,但是当我这样做时,我无法再使用 sudo -u 以 postgres 用户身份运行 psql,除非我是 root。

sudo -u postgres psql

我现在收到密码提示,然后在输入密码后出现此消息......

Sorry, user _____ is not allowed to execute '/usr/bin/psql' as postgres on ...

sudoers 文件

root ALL=(ALL) ALL
%admin ALL=NOPASSWD: ALL

答案1

假设您的用户在该admin组中,请将第二行修改为

%admin ALL=(ALL) NOPASSWD: ALL

允许每个用户使用无密码 sudo,而不仅仅是 root。您当前的配置允许

  • root 以任何人身份运行任何东西
  • 组中的用户admin无需密码即可以 root 身份运行任何内容

因为没有 runas 规范(ALL)使得可以以任何人的身份运行。

相关内容