允许用户使用不带密码的sudo


16

在沙盒VM环境中,我安装了已安装防火墙的Ubuntu Linux,无法从本地系统外部进行访问。因此,在该VM上,我想为管理用户(由我设置)提供使用sudo运行任何内容的能力,并且不需要密码。

虽然我知道这是不安全的,但是此VM并非一直处于运行状态,并且需要我的个人密码才能运行。因此,即使这不是“安全的”,有没有办法获得所需的功能?

Answers:


23

来自man sudoers

   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
这个答案描述的配置文件是/etc/sudoers。您无需像普通配置文件一样编辑此文件,而应使用visudo命令(以root用户身份)。
paulhauner '17

1

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

一种可能的解决方案是,与NOPASSWD选项相比,这种单衬套更容易记住。获取管理权限并运行

$ visudo

并添加以下行

默认值: 用户名 !authenticate

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.