Linux 如何使用 sudo 给普通用户授权

作者:袖梨 2026-08-07

普通用户启用sudo需加入sudo组或配置/etc/sudoers:执行sudo usermod -aG sudo username并重新登录;或用sudo visudo添加username ALL=(ALL:ALL) ALL等规则;验证用sudo -l或sudo ls /root。

让普通用户能用 sudo,核心是把它加入系统信任名单——不是直接改密码或切换 root,而是通过组权限或配置文件明确授权。

加到 sudo 组(最常用、最安全)

Ubuntu/Debian 系统默认把 sudo 组设为可执行所有管理命令。只要把用户加进去,重启会话就生效:

  1. 用已有管理员账号运行:sudo usermod -aG sudo username(把 username 换成实际用户名)
  2. 验证是否成功:groups username,输出里应含 sudo
  3. 用户需退出当前终端再重新登录,权限才生效

编辑 /etc/sudoers 文件(精细控制)

visudo 安全编辑,避免语法错误导致 sudo 失效:

  1. 运行 sudo visudo,在文件末尾添加一行
  2. 允许全部命令:username ALL=(ALL:ALL) ALL
  3. 只允许特定命令(例如 apt 和 systemctl):username ALL=/usr/bin/apt, /usr/bin/systemctl
  4. 免密执行(慎用):username ALL=(ALL) NOPASSWD: ALL

建自定义组统一管理(适合多用户场景)

便于后期增删和审计,比逐个配置更清晰:

  1. 新建组:sudo groupadd adminusers
  2. 加用户进组:sudo usermod -aG adminusers username
  3. visudo 中添加:%adminusers ALL=(ALL:ALL) ALL(注意开头的 %

验证和排查

授权后别跳过验证步骤:

  1. 切到目标用户:su - username
  2. 试一条需权限的命令:sudo ls /root(应提示输密码或直接执行)
  3. 查当前权限范围:sudo -l,能看到允许执行哪些命令
  4. 如果提示“user is not allowed”,说明没生效,检查是否漏了重新登录、拼写错误或 visudo 保存失败

相关文章

精彩推荐