2016年7月4日月曜日

MacOSでのverbose boot

私は、使っているMacの起動の様子がわかるようするために、いつもverbose modeで起動するように、以下のように設定していました。
MacOS X(10.9)で常にverbose modeで起動する
http://www.sakashita-net.jp/2015/05/macos-x109verbose-mode.html
方法は、ファイル
/Library/Preferences/SystemConfiguration/com.apple.Boot.plist
中のKernels Flagsキーに「-v」を追加するというものです。

MacOS 10.11にアップデート後、同じように設定しようとすると、ファイルcom.apple.Boot.plistがroot権限でも変更できなくなっていました。
How to Always Boot Mac OS X in Verbose Mode
http://osxdaily.com/2007/03/25/always-boot-mac-os-x-in-verbose-mode/
にあるように
sudo nvram boot-args="-v"
とすることで解決しました。

気になるので、root権限でファイルが変更できないことについて調べてみました。

まずファイルをlsで見てみます
$ cd /Library/Preferences/SystemConfiguration/
$ ls -l com.apple.Boot.plist
-rw-r--r--@ 1 root  admin  232 Aug  2  2015 com.apple.Boot.plist
$
「@ 」という属性がついています。これで探してみると、以下のWWWページのように、拡張属性が付加されているようです。
Mac OS X のファイルの拡張属性を消去する
http://takatakamanbou.hatenablog.com/entry/2015/06/26/235500
拡張属性を見てみました。
$ ls -l@ com.apple.Boot.plist
-rw-r--r--@ 1 root  admin  232 Aug  2  2015 com.apple.Boot.plist
        com.apple.rootless        0
$
rootlessという属性のようです。これをまた調べてみました。
OS X 10.11 El Capitanには新しいセキュリティ機能「rootless」が追加され、rootユーザーでも”/usr”ディレクトリなどにアクセス制限がかけられているもよう。 
http://applech2.com/archives/45140708.html
rootでも編集できない属性が付加されているようです。