macOS升級Catalina後根目錄無權限問題

Bug復現

在這裏插入圖片描述
在昨天快快樂樂升級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直至進入系統恢復界面,然後點擊實用工具選擇終端:
在這裏插入圖片描述
輸入csrutil disable關閉SIP:
在這裏插入圖片描述

權限獲取

重新啓動電腦,shell中輸入sudo mount -uw /,然後就有權限在根目錄創建文件夾了,MongoDB的啓動問題得解。
如果此時還是報錯沒有權限,請再嘗試以下步驟:

  • 桌面使用shift + command + C前往電腦磁盤

  • 右擊Macintosh HD磁盤選擇顯示簡介

  • 在共享與權限中添加自己的用戶爲管理員並設置讀與寫權限

  • 重新創建文件夾

因爲使用MongoDB會更改/data/db文件,所以不能重新開啓SIP,否則還是會報錯權限問題,而SIP一直處於關閉狀態實際上會導致電腦有一定的安全隱患,詳情請查閱關於Mac上的系統完整性保護,希望後續能有更好的解決途徑吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章