MacでコマンドがOperation not permittedとなるときの解決方法

コマンドのエラーの解決方法

Macでコマンドを実行するときにroot権限が必要な場合にsudoを使いますが、それでも「Operation not permitted」と表示されてコマンドがエラーとなるときがあります。

それはMacのセキュリティ機能であるSIP(System Integrity Protection)によって保護されているからです。

SIPを無効にすることでコマンドがエラーなく実行できるのでその方法を説明します。

SIPを無効にする

まずMacの電源を切ります。

次にMacを起動するときにリカバリーモードで起動します。

電源スイッチを入れてすぐに「Command⌘ + R」を押し続けて、りんごマークが表示されたらキーから離します。

起動に少し時間がかかります。

しばらくするとMacがリカバリーモードで起動します。

「ユーティリティ」から「ターミナル」を起動します。

ターミナルを起動してコマンドを入力できるようになったら、以下のコマンドを実行してSIPの状態を確認します。

$ csrutil status

SIPが有効であれば「enabled」が表示されます。

System Integrity Protection status: enabled.

これを無効にします。

$ csrutil disable
Successfully disabled System Integrity Protection. Please restart the machine for the changes to take effect.

無効にできたら、Macを再起動します。

画面上のリンゴメニューから再起動を選んで再起動してもいいですし、そのままコマンドで再起動してもいいです。

$ reboot

再起動後に先程はエラーになっていたコマンドを実行してください。

シェアする