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

Omi*_*nus 5 linux

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

sudo -u postgres psql
Run Code Online (Sandbox Code Playgroud)

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

Sorry, user _____ is not allowed to execute '/usr/bin/psql' as postgres on ...
Run Code Online (Sandbox Code Playgroud)

sudoers 文件

root ALL=(ALL) ALL
%admin ALL=NOPASSWD: ALL
Run Code Online (Sandbox Code Playgroud)

小智 8

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

%admin ALL=(ALL) NOPASSWD: ALL
Run Code Online (Sandbox Code Playgroud)

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

  • root 可以像任何人一样运行任何东西
  • 从用户admin组无密码来运行任何东西作为根

因为没有 runas 规范(ALL)可以像任何人一样运行。