macOS升级Catalina后根目录无权限问题

Bug复现

macOS升级Catalina后根目录无权限问题_第1张图片
在昨天快快乐乐升级macOS Cataline之后,一切都还是那么舒服,直到刚才需要启动MongoDB数据库,就在我自信地在shell中输入mongod之后报了个错,看都没看就sudo mongod,嗯???

Data directory /data/db not found., terminating

谁把我dbpath目录删了???重建呗——sudo mkdir /data,大问题来了:

mkdir: data: Read-only file system

遂尝试各种增加权限方法,无效,直到看到了一篇文章讲到问题出在新系统Catalina默认不允许往系统分区写文件,亲试解决方法有效后在此记录下步骤。

Figure out

关闭本机SIP(系统完整性保护)

终端中输入csrutil status后返回System Integrity Protection status: enabled.说明SIP处于开启状态。

重启电脑,按住command + R直至进入系统恢复界面,然后点击实用工具选择终端:
macOS升级Catalina后根目录无权限问题_第2张图片
输入csrutil disable关闭SIP:
macOS升级Catalina后根目录无权限问题_第3张图片

权限获取

重新启动电脑,shell中输入sudo mount -uw /,然后就有权限在根目录创建文件夹了,MongoDB的启动问题得解。
如果此时还是报错没有权限,请再尝试以下步骤:

  • 桌面使用shift + command + C前往电脑磁盘

  • 右击Macintosh HD磁盘选择显示简介

  • 在共享与权限中添加自己的用户为管理员并设置读与写权限

  • 重新创建文件夹

因为使用MongoDB会更改/data/db文件,所以不能重新开启SIP,否则还是会报错权限问题,而SIP一直处于关闭状态实际上会导致电脑有一定的安全隐患,详情请查阅关于Mac上的系统完整性保护,希望后续能有更好的解决途径吧。

你可能感兴趣的:(前@后端)