当前用户非管理员或sudoers文件损坏导致提权失败;先用id -Gn确认是否属admin组,若否需用其他管理员账号添加或恢复模式修复;若是则手动修复/etc/sudoers文件。

Mac终端执行sudo命令时突然报错“user is not in the sudoers file”,说明当前用户已失去系统级提权能力,无法安装软件、修改系统文件或运行brew/cask等依赖root权限的操作。
先确认你是不是真管理员
打开终端,直接运行:
id -Gn
如果输出里没有 【admin】,那你的账户确实不是管理员——这是macOS权限模型的硬性前提,不是sudoers文件写错了就能绕过的。此时必须用另一个管理员账号帮你加组,或进恢复模式重置。
如果输出含 admin(例如 staff everyone admin _developer),但sudo仍报错,说明 /etc/sudoers 文件本身损坏或被误删,需修复配置而非改权限。
用已有管理员账号添加用户到admin组
方法一:图形界面快速修复(推荐给新手)
1. 点击屏幕左上角苹果图标 → “系统设置” → “用户与群组”
2. 点按右下角锁形图标 → 输入**另一个管理员账户的密码**解锁
3. 在左侧用户列表中选中你的账户 → 勾选“允许用户管理这台Mac”
4. 关闭窗口,重启终端即可生效
方法二:终端命令修复(需已登录另一管理员账户)
在该管理员账户的终端中执行:
sudo dseditgroup -o edit -a 你的用户名 -t user admin
⚠️注意:此处 你的用户名 必须拼写完全一致,区分大小写,不能带空格或特殊字符;执行后无需重启,但当前终端会话需重新打开才能识别新权限。
手动修复/etc/sudoers文件(仅当文件损坏时)
第一步:进入恢复模式
重启Mac → 听到启动声时立即按住 【Command + R】 不放,直到出现齿轮图标或语言选择界面
第二步:启用终端
顶部菜单栏 → 实用工具 → 终端
第三步:挂载主硬盘并编辑文件
diskutil list → 找到你的系统盘名称(通常是“Macintosh HD”)→ 执行:
mount -uw /Volumes/Macintosh\ HD
vi /Volumes/Macintosh\ HD/etc/sudoers
第四步:在文件末尾添加标准规则行
按 i 进入编辑模式 → 新起一行输入:
%admin ALL=(ALL) ALL
按 Esc → 输入 :wq → 回车保存退出
第五步:重启系统
reboot → 正常启动后测试 sudo -l,应显示 (ALL) ALL

















