当前用户未被授权使用sudo权限,需以root身份修正/etc/sudoers权限为440,再用visudo或vi添加用户名对应行,最后恢复权限并验证sudo whoami返回root。

银河麒麟终端执行sudo命令时提示“不在sudoers文件中,此事将被报告”,说明当前用户未被授权使用sudo权限,无法临时提权执行管理操作。
切换到root并确认sudoers文件状态
在终端中输入 su - → 回车后输入root密码 → 成功进入root shell后,立即执行 ls -l /etc/sudoers 查看文件权限。正常应显示 -r--r----- 1 root root,即权限为440,仅root可读。
若显示权限异常(如777或644),必须先修正;若权限正确但用户仍无权sudo,则需编辑配置。
临时开放sudoers写权限
执行 chmod u+w /etc/sudoers 给root用户添加写权限。
【关键前提】此操作必须在root身份下进行,普通用户即使有sudo权限也无法完成该步骤——因为此时sudo本身不可用。
执行后再次运行 ls -l /etc/sudoers,确认输出中第一个字符后出现 w(如 -rw-r-----)。
编辑sudoers添加当前用户
方法一:使用visudo(推荐)
直接运行 visudo → 文件自动以安全方式打开 → 按 /root ALL 回车定位到root权限行 → 按 o 在下一行插入新行 → 输入 your_username ALL=(ALL) ALL(将 your_username 替换为实际用户名,例如 zhangsan)→ 按 Esc → 输入 :wq 保存退出。
方法二:使用vi/vim
运行 vi /etc/sudoers → 移动光标至 root ALL=(ALL) ALL 行 → 按 i 进入插入模式 → 换行后键入 your_username ALL=(ALL) ALL → Esc → :wq! 强制保存(因文件可能被锁,!不可省略)。
注意:不要删除或修改原有注释行,尤其不能破坏 #includedir /etc/sudoers.d 这类关键指令。
恢复sudoers原始权限
第一步:执行 chmod 440 /etc/sudoers。
第二步:立即验证权限是否还原 → 运行 ls -l /etc/sudoers,输出必须为 -r--r----- 开头。
第三步:退出root → 输入 exit 返回普通用户shell。
【不可逆风险】若跳过此步,系统安全策略将失效,任何能登录该主机的用户都可能篡改sudoers文件。
测试新配置是否生效
在普通用户终端中执行 sudo whoami → 输入当前用户密码 → 若返回 root,说明配置成功。
若仍报错,请检查用户名拼写是否与 id -un 输出完全一致(区分大小写、无空格)。

















