【macOS Catalina】ルートボリュームに書き込みできない問題

MacOSのカタリナでは、ルートボリュームに書き込みができない仕様になっています。

しかし、

パスの参照などで、どうしても、ルートボリューム直下に、フォルダやファイルを置きたいことってあると思います。

そんな時に、

一時的に、システム整合性保護(System Integrity Protection: SIP)を解除すれば、「読み込み専用ファイル」だけは、置くことができそうです。

SIPのオン・オフについては、こちらのサイトを参照。

Macの起動を「リカバリーモード」にしないと変更できないようです。


Disable SIP (recovery mode, csrutil disable).

Restart.

Mount drive for read and write (sudo mount -uw /).

Assign rights for read and right ([sudo] chmod - R 775 /your/folder/).

Delete it ([sudo] rm -rf /your/folder/).

Restart.

Enable SIP (recovery mode, csrutil enable).

ルートボリュームに作ったフォルダの権限などを変えても、中にファイルを作ったりできなかった。(何をやっても読み取り専用になるのだろうか)。

これを踏まえて、

では、ルートボリュームに、「シンボリックリンク」を作ってはどうかと考えた。


Disable SIP (recovery mode, csrutil disable).

Restart.

Mount drive for read and write (sudo mount -uw /).

sudo ln -s 「シンボリックリンク元のパス」 「シンボリックリンクを作成する場所のパス」

これなら、ルートボリュームのパスを使って色々できるのではないか?

参照元はどこにでも配置できますし。

とりあえず、擬似的にルートボリュームに貼ったシンボリックを通して、その中にファイルのコピーはできたのだけれど。他に何か不具合はないだろうか。

追記 2021/06/17

SIPの設定を変えなくても済む方法が紹介されていた。

echo -e 'public\tSystem/Volumes/Data/public' | sudo tee -a /etc/synthetic.conf