Rootlessについて
OS X 10.11 El Capitanには新しいセキュリティ機能「System Integrity
Protection(SIP)」が追加されました。通称「Rootless」とも言う機能
です。Rootlessはrootユーザーでもシステムの重要な部分に関して、変更
できないようにしてシステムのセキュリティ強化する機能です。
システム整合性保護は、OS X El Capitan で導入された
セキュリティ技術です。Mac 上の保護されたファイルやフォルダを
改ざんしようとする悪質なソフトウェアからデータを守ります。
OS X では、「ルート」ユーザアカウントには従来アクセス制限が課されておらず、Mac 上のすべてのシステムフォルダまたは
アプリケーションへのアクセスが可能でした。管理者の名前と
パスワードを入力してインストールしたソフトウェアはその際に
ルートレベルのアクセス権を獲得し、システムファイルや
アプリケーションを変更したり上書きしたりすることが可能でした。
システム整合性保護は、ルートアカウントに制約を課し、ルートユーザが OS X の保護されている部分に対して実行できる操作を
制限する仕組みです。システム整合性保護では、以下のパスと
アプリケーションが保護されます。
/システム
/usr
/bin
/sbin
OS X にあらかじめインストールされている App
他社製の App とインストーラが書き込めるパスとアプリケーションは、以下の通りです。
/アプリケーション
/ライブラリ
/usr/local
システム整合性保護は、Apple による署名済みで、さらにシステムファイルへの特別の書き込み権限を与えられたプロセス (Apple ソフト
ウェアアップデートや Apple インストーラなど) に限り、上記の
保護された部分に対する変更を認める仕様になっています。
Mac App Store からダウンロードする App は、すでにシステム整合性保護に対応しています。その他の他社製ソフトウェアで
システム整合性保護と競合するものは、OS X El Capitan への
アップグレード時に一時的に除外されることがあります。
Appleのサイトでは「Rootless」ではなく「システム整合性保護」という
表現を使っています。
Rootlessによって保護されているファイルやディレクトリは
/System/Library/Sandbox/rootless.conf
で確認できます。OS X 10.11 El CapitanをインストールすればRootlessは
ONの状態になっています。
もし、Rootlessに保護されているファイルやディレクトリを変更しよう
とすると「Operation not permitted」というメッセージが表示されます。
このままでは変更できないのでRootlessの機能をOFFにする必要があります。
- Rootlessの機能をOFFにする方法。
- [Command]+[R]キーを押した状態でMacをリカバリーモードで起動。
- メニューバーのユーティリティ→ターミナルでターミナルを起動し、
以下のコマンドを入力してRootlessをOFFにする。
csrutil disable - 再起動すればRootlessがOFFになっています。
- Rootlessの機能をONに戻す方法。
- Macをリカバリーモードで起動してターミナルを開いて
以下のコマンドを入力してRootlessをONにする。
csrutil enable - 再起動すればRootlessがONになります。
- Rootlessの状態を確認する方法。
ターミナルから以下のコマンドを入力。
csrutil status
RootlessがOFFの状態なら
System Integrity Protection status: disabled.
と表示されます。RootlessがONの状態なら
System Integrity Protection status: enabled.
と表示されます。