允许用户无需密码即可使用 sudo

允许用户无需密码即可使用 sudo

在沙箱虚拟机环境中,我设置了 Ubuntu Linux,它受防火墙保护,无法从本地系统外部访问。因此,在该虚拟机上,我想为管理用户(我设置的)提供使用 sudo 运行任何内容而不需要密码的能力。

虽然我知道这并不安全,但该虚拟机并非始终处于开启状态,并且需要我的个人密码才能运行。因此,即使这不“安全”,有没有办法获得所需的功能?

答案1

曼苏多尔斯:

   NOPASSWD and PASSWD

   By default, sudo requires that a user authenticate him or herself
   before running a command.  This behavior can be modified via the
   NOPASSWD tag.  Like a Runas_Spec, the NOPASSWD tag sets a default for
   the commands that follow it in the Cmnd_Spec_List.  Conversely, the
   PASSWD tag can be used to reverse things.  For example:

    ray  rushmore = NOPASSWD: /bin/kill, /bin/ls, /usr/bin/lprm

   would allow the user ray to run /bin/kill, /bin/ls, and /usr/bin/lprm
   as root on the machine rushmore without authenticating himself.

另一种标签是ALL,允许用户 ray 在任何主机上运行任何命令而无需密码,您可以使用:

ray ALL= NOPASSWD: ALL

答案2

正如您所提到的,除非系统在特定的安全环境中运行,否则禁用密码提示是一个坏主意。

一种可能的解决方案是这一行,我发现它比 NOPASSWD 选项更容易记住。获取管理权限并运行

$ visudo

并添加以下行

默认值: 用户名 !认证

这将完全禁用特定用户的密码提示。

相关内容