WordPressやSymfonyのTipsを中心にアニメや日常の出来事について語ります。
メニュー

Mac OS X 10.11 EI CapitanでOperation not permittedが出た時の解決法

この記事は約3分12秒で読めます

MAMPのPHPにパスを通していたのですが、OSアップデートをすると案の定、Mac標準のPHPが有効になってしまったので改めて変更しようとしました。
しかし、Operation not permittedという訳の分からないエラーが…

Mac OS X EI Capitanにアップデート!

Macの新しく出たOS X EI Capitanがアップデートしました。
Xtrafinder動かねぇ!ウィンドウ分割ひゃっほーい!と泣いたり笑ったりしてました。

まぁ、Mac OSアップデートの詳しい内容は上記のサイトをご覧くださいませ。

Operation not permittedエラーが発生

Mac標準のPHPからMAMPのPHPにパスを通すため下記のコマンドを使ってPHPファイル名を変更しようとしていました。

なにこれぇ〜〜〜〜〜〜〜〜!!!
ググッてみたらファイルロックが原因らしい!?

Mac OS Xでファイルロック! chflagsで解決できるらしい!

結論としてはこれは原因ではありませんでしたが、一応。

上のコマンドを実行しろということらしい。
しかし、実行してみましたが結果は変わらず。

なんでや!

OSアップデートからおかしいので、
OS X 10.11 El Capitanのセキュリティ系の変更について調べてみることにしました。

原因:Rootlessという新セキュリティ機能がブロックしていた!

OS X 10.11 El Capitanには新しいセキュリティ機能(SIP:System Integrity Protection)「Rootless」が追加されました。
rootユーザーであってもカーネルレベルでアクセス制限がかけられてしまうようです。

つまり、rootユーザーでも/usr/bin/ディレクトリは変更できない!

なんでや!!

対処法:システム整合性保護機能(Rootless)を無効にする

詳しくは上記の動画、または私の対処法を下記に記載したのでご参考ください。

Macを復元システムで起動

まずMacをシャットダウンします。
起動時に「Command + R」を押し続けて復元システム(リカバリーモード)を起動します。

ターミナルからRootlessを無効化

上部のメニューから ユーティリティ ターミナル を選択してターミナルを起動します。

次のコマンドを実行します。

このコマンドを実行することでSIP(System Integrity Protection)が無効化されます。
設定を反映させるためにMacを再起動します。

確認

Macを再起動後、ターミナルを立ち上げて下記のコマンドを実行します。

このようなメッセージが表示されていればオッケー!

無事、コマンド実行できました!(3時間くらい無駄にした。。。)

なんだか、WindowsでいうVistaを彷彿とさせる感じでした。
ユーザーアカウント制御的な?
XPにはなかったのに!いつの間にかこうなってる!みたいな。

さて、Rootlessこれは無効のままにした方がいいでしょうか。
まぁきっとMacOSアップデートが来たら勝手に有効になるんでしょうけど…

参考・関連サイト

関連記事

  1. MAMP
  2. スカイプロゴ
  3. Kindle for Mac MacでAmazonの本が読める!
  4. MAMPのPHPにパスを通す方法
  5. MacBook Airのキーボード
  6. MacBookのキーボードを占拠してるオス猫(スコティッシュフォールド)

PR

カテゴリー