Rootlessについて

OS X 10.11 El Capitanには新しいセキュリティ機能「System Integrity

Protection(SIP」が追加されました。通称「Rootless」とも言う機能

です。Rootlessはrootユーザーでもシステムの重要な部分に関して、変更

できないようにしてシステムのセキュリティ強化する機能です。

Apple公式サイトによると

システム整合性保護は、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にする方法。
  1. [Command]+[R]キーを押した状態でMacをリカバリーモードで起動。
  2. メニューバーのユーティリティ→ターミナルでターミナルを起動し、
    以下のコマンドを入力してRootlessをOFFにする。
    csrutil disable
  3. 再起動すればRootlessがOFFになっています。
  • Rootlessの機能をONに戻す方法。
  1. Macをリカバリーモードで起動してターミナルを開いて
    以下のコマンドを入力してRootlessをONにする。
    csrutil enable
  2. 再起動すればRootlessがONになります。 

 

  • Rootlessの状態を確認する方法。

ターミナルから以下のコマンドを入力。

csrutil status

RootlessがOFFの状態なら

System Integrity Protection status: disabled.

と表示されます。RootlessがONの状態なら

System Integrity Protection status: enabled.

と表示されます。