You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法运行sudo且/var/db/sudo目录为空的无sudo权限修复方案咨询

修复sudo无法运行的问题(无sudo权限情况下)

这种情况确实闹心——没sudo权限还得修sudo的问题,不过咱们可以通过Mac的单用户模式或者恢复模式直接获取root权限,来修复出问题的sudo目录。下面给你分步讲两种方法,你选顺手的来:

方法一:单用户模式修复(优先尝试)

  1. 重启你的Mac,在开机过程中按住 Command + S 不放,直到屏幕出现黑底白字的命令行界面,这就是单用户模式了。
  2. 先修复磁盘文件系统(避免是磁盘错误导致的目录异常):
    • 如果你的Mac是APFS格式(现在大部分新Mac都是),执行命令:/sbin/fsck_apfs -y /
    • 如果是老款的HFS+格式,执行:/sbin/fsck -fy /
      等命令跑完,看到文件系统已被修复之类的提示再往下走。
  3. 把根目录挂载为可读写模式(默认单用户模式是只读,没法修改文件):
    /sbin/mount -uw /
    
  4. 创建缺失的ts目录并设置正确权限:
    mkdir -p /var/db/sudo/ts
    chmod 700 /var/db/sudo /var/db/sudo/ts
    chown root:wheel /var/db/sudo /var/db/sudo/ts
    
  5. 执行完后输入reboot重启Mac,进入正常系统后试试sudo命令,应该就能正常用了。

方法二:恢复模式修复(如果单用户模式无效)

如果单用户模式进不去或者操作后还是报错,就用恢复模式试试:

  1. 重启Mac,开机过程中按住 Command + R 不放,直到出现 macOS 实用工具界面。
  2. 点击顶部菜单栏的「实用工具」→「终端」,打开命令行窗口。
  3. 先找到你的系统磁盘路径:执行diskutil list,在输出里找标注为Apple_APFS Container或者Macintosh HD的磁盘,记下它的挂载路径(比如/dev/disk1s1)。
  4. 挂载磁盘为可读写:
    diskutil mount /dev/disk1s1
    
    (把/dev/disk1s1替换成你刚才找到的实际路径)
  5. 进入系统磁盘的根目录(假设你的磁盘名称是「Macintosh HD」):
    cd /Volumes/Macintosh\ HD
    
  6. 同样创建ts目录并设置权限:
    mkdir -p var/db/sudo/ts
    chmod 700 var/db/sudo var/db/sudo/ts
    chown root:wheel var/db/sudo var/db/sudo/ts
    
  7. 也可以顺便修复磁盘权限:
    diskutil repairVolume /Volumes/Macintosh\ HD
    
  8. 关闭终端,点击「重启」回到正常系统,再测试sudo命令即可。

内容的提问来源于stack exchange,提问作者Nanogamer7

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:45:32