✅ 一、查看用户有没有 sudo 权限(优先用 sudo -l -U,最准)

# 查看指定用户的sudo权限清单(root/已有sudo权限用户执行)
sudo -l -U fengliyang
- 如果输出
User fengliyang is not allowed to run sudo→ 无 sudo 权限 - 如果输出
(ALL : ALL) ALL→ 拥有全部 sudo 权限
这个命令是直接读取 sudo 配置,比单纯看组更靠谱!因为有可能用户在 wheel 组,但 sudoers 里把
%wheel注释掉了,依然不能 sudo
辅助验证命令

- 返回
root✅ 有权限 - 报错
xxx is not in the sudoers file❌ 无权限
⚠️ 注意:在 wheel 组 ≠ 一定能 sudo ,必须 /etc/sudoers 开启%wheel ALL=(ALL) ALL

✅ 二、给用户添加 sudo 权限(两种方式,推荐组方式)
你的系统是 CentOS/RHEL 系(用 wheel 组);Ubuntu/Debian 是 sudo 组
方式 1:加入 wheel 组(推荐,简单规范)
# -aG 追加附加组!!千万不要去掉-a,否则会清空用户所有其他附加组
sudo usermod -aG wheel fengliyang
Ubuntu/Debian:
sudo usermod -aG sudo fengliyang
✅ 重要:修改组之后,用户要重新登录才生效! 或者执行 newgrp wheel 临时生效
检查 sudoers 里 wheel 是否开启:
sudo grep wheel /etc/sudoers
看到这行(没有 #注释)才生效:
%wheel ALL=(ALL) ALL
方式 2:visudo 直接单独给用户授权(精细化权限)
sudo visudo
找到 root ALL=(ALL) ALL,下面添加一行:
fengliyang ALL=(ALL) ALL
-
visudo自带语法校验,写错会告警,不要直接 vim 改/etc/sudoers,写错直接 sudo 炸掉! -
想免密 sudo:改成
fengliyang ALL=(ALL) NOPASSWD: ALL
✅ 三、取消 / 删除 sudo 权限
方式 1:从 wheel 组移除(组方式授权的,优先这个)
sudo gpasswd -d fengliyang wheel
Ubuntu/Debian:
sudo deluser fengliyang sudo
移除后同样需要重新登录生效
方式 2:visudo 删掉单独写的那一行
sudo visudo
删掉 fengliyang ALL=(ALL) ALL 这一行即可
方式 3:单独 sudoers.d 文件(企业常用)
# 授权
echo "fengliyang ALL=(ALL) ALL" | sudo tee /etc/sudoers.d/fengliyang
# 取消权限
sudo rm /etc/sudoers.d/fengliyang
📌 速查表
表格
| 系统 | 管理员组 | 添加用户 | 移除用户 |
|---|---|---|---|
| CentOS/RHEL/Rocky/Fedora | wheel | usermod -aG wheel user |
gpasswd -d user wheel |
| Ubuntu/Debian | sudo | usermod -aG sudo user |
deluser user sudo |