古くからMacを生産財として使い続けてきた人に最新のMac環境は冷たい。セキュリティ強化のために管理者権限があってもシステムの重要部分には手が出せない「システム整合性保護(rootless)」という仕組みが導入されて、旧アプリがインストールできなくなったり、Java非推奨となったために必要なコンポーネントをユーザーが独自に用意しなければアプリが動かないといった事態が起きることがある。そんなとき、El Capitanのまま、それら古い環境も同時に楽しめる魔法の手法がある。

マルウエアなどを確実に排除するための「rootless」

 Macの最新OS X 10.11、通称El Capitanはセキュリティを強化するためにインストール時の認証の仕組みを強化したり、追加している。多くのアプリやドライバーは既にEl Capitan対応を済ませているために、最新のインストーラーを使えば、問題なくインストールできる。しかし中にはEl Capitanに対応を済ませていないもの、あるいはEl Capitanに対応するために新シリーズにアプリ系列を一新したがユーザーは旧バージョンを使い続けたい、といった事情で最新環境にインストールできないものなどがある。

 さて、その、新しいセキュリティ強化のための仕組みのひとつ「システム整合性保護(rootless)」とはいったいどういうものなのだろうか?

 OSにはユーザーが自由にデータを読み書きできる領域と管理者権限がなければアクセスできない領域があるのはご存知の通りだろう。MacはUNIXに端緒を発するOSなので、さらに「root」と呼ばれる最高権限を持つユーザーが定義されていて、これを使うと設定変更や追加機能をインストールできる。通常はこのrootユーザーは利用可能な状態にはなっていないが、適切な操作をするとrootユーザーをオンにすることができる。

 rootユーザーをオンにして、その権限でシステムを操作するとほとんど何でもできてしまう。ユーザーのパスワードを変更したり、新しいユーザーを登録したり、特定のアプリの下でひそかに情報を外部に流すような機能を組み込んだり。いわゆるマルウエアはと呼ばれる悪質なソフトはこうしたroot権限をうまく抜き出しシステムを乗取ってしまうものだ。Mac OS 10.10、Yosemiteまではrootユーザーの活用ができた。

 最新のEl Capitanでは、このroot権限を持つユーザーをアクティベートしてもシステム内の重要なエリアには一切触れないようにした。これが「rootless」と呼ばれる仕組みだ。具体的にはパソコンをコントロールするための「キモの部分」である/System、 /bin、 /sbinあるいは /usrなどのディレクトリー内にはrootユーザーであっても手が出せない。アップルではrootlessという専門用語ではなく、「システム整合性保護」という名前でこの機能を提供している。概要説明はこちら(https://support.apple.com/ja-jp/HT204899)にある(図1)。

図1●システム整合性保護(rootless)の概要説明
図1●システム整合性保護(rootless)の概要説明
従来とは異なり、rootユーザーでもアクセスできない領域が作られたことが分かる。一般ユーザーは知る必要がないことだが、参考にしてほしい(出所:アップル)
[画像のクリックで拡大表示]

 rootlessという名前から、rootユーザーが廃止されたかのように誤解されていることもあるようだが、rootユーザーはちゃんと用意されている。しかし、rootであってもシステム内の重要データには手が出せない、ということはマルウエアのようなソフトを排除するのに絶大な効果がある。