将非sudo组成员添加入sudo

目标

本教程将指导您如何在 Debian/Ubuntu 系统中,以 root 用户身份完成以下两件事:

  1. 将一个普通用户(本例中为 admin)加入 sudo 组,赋予其管理员权限。
  2. 配置该用户,使其在使用 sudo -i 切换到 root 时无需输入密码。

第一步:将用户加入 sudo

首先,您需要以 root 身份登录。执行以下命令,将用户 admin 添加到 sudo 组。

1
usermod -aG sudo admin
  • 这个命令使用 -aG 参数,安全地将 sudo追加admin 用户,而不会影响其已有的用户组。

第二步:配置 sudo 免密

为了安全地修改 sudo 配置,我们使用 visudo 命令创建一个新文件,而不是直接编辑主配置文件。

  1. 创建并编辑专用配置文件:

    1
    visudo -f /etc/sudoers.d/010_admin-nopasswd
  2. 添加免密规则: 在打开的编辑器中,添加下面这一行内容:

    1
    admin ALL=(ALL) NOPASSWD: ALL

    这行配置的含义是:允许用户 admin 在任何终端上以任何用户身份执行任何命令,且无需输入密码。

  3. 保存并退出:

    • Nano 编辑器:按 Ctrl + X,接着按 Y,最后按 Enter 键。
    • Vim 编辑器:按 Esc 键,然后输入 :wq,最后按 Enter 键。

重要:权限检查与修复

出于安全原因,sudo 要求其所有配置文件都必须由 root 用户拥有。如果在执行 visudo 后,您在下一步验证时看到类似以下的错误信息:

1
sudo: /etc/sudoers.d/010_admin-nopasswd is owned by uid 1000, should be 0

这表示该文件的所有者不正确。

解决方法: 请以 root 身份执行以下命令来修正文件所有权:

1
chown root:root /etc/sudoers.d/010_admin-nopasswd

第三步:验证

现在,您可以从 root 用户切换回 admin 用户,并测试配置是否生效。

1
su - admin

然后尝试切换到 root

1
sudo -i

如果配置成功,系统将直接切换到 root@...:~# 提示符,而不会要求您输入密码。

(可选) 第四步:删除用户登录密码

⚠️ 安全警告: 此操作风险极高。删除用户密码后,该用户将无法通过密码进行本地登录或SSH登录。在执行此操作前,请务必确认您已为该用户配置了SSH密钥登录,否则您将可能永久失去对服务器的访问权限。

如果您确认要继续,请以 root 身份执行:

1
passwd -d admin

此命令会删除 admin 用户的密码。


将非sudo组成员添加入sudo
https://www.smyqh.com/2026/02/14/将非sudo组成员添加入sudo/
作者
GamblerIX
发布于
2026年2月15日
许可协议