OS X El Capitanでディスクユーティリティから削除されてしまった「アクセス権の検証・修復」機能。
ディスクユーティリティから呼び出すことはできなくなっていますが、コマンドを使って呼び出すことは可能です。今回は、OS X Dailyで説明されていた「repair_packages」コマンドを使って、パーミッションの検証、修復を行う方法を説明します。
パーミッションの検証
パーミッション(アクセス権)が正しいかどうかを検証するには、以下のコマンドを実行します。システムドライブ以外のディスクを検証したい場合、最後の"/"を該当するVolumeのパスに置き換えます。
sudo /usr/libexec/repair_packages --verify --standard-pkgs --volume /
パーミッションが想定外の場合、以下のように表示されます。
Group differs on "Library/Printers/EPSON/Fax/Utility/Fax Receive Monitor.app/Contents/Resources/sv.lproj", should be 80, group is 0. Permissions differ on "Library/Printers/EPSON/Fax/Utility/Fax Receive Monitor.app/Contents/Resources/sv.lproj", should be drwxr-xr-x , they are dr-xr-xr-x . Group differs on "Library/Printers/EPSON/Fax/Utility/Fax Receive Monitor.app/Contents/Resources/th.lproj", should be 80, group is 0. Permissions differ on "Library/Printers/EPSON/Fax/Utility/Fax Receive Monitor.app/Contents/Resources/th.lproj", should be drwxr-xr-x , they are dr-xr-xr-x .
パーミッションの修復
パーミッションを修復したい場合、"--verify"を"--repair"に置き換えて、以下のコマンドを実行します。
sudo /usr/libexec/repair_packages --repair --standard-pkgs --volume /
修復が行われると以下のように表示されます。
Group differs on "Library/Printers/Icons", should be 80, group is 0. Permissions differ on "Library/Printers/Icons", should be drwxr-xr-x , they are dr-xr-xr-x . Repaired "Library/Printers/Icons". Group differs on "Library/Printers/PPDs", should be 80, group is 0. Permissions differ on "Library/Printers/PPDs", should be drwxr-xr-x , they are dr-xr-xr-x . Repaired "Library/Printers/PPDs". Group differs on "Library/Printers/PPDs/Contents", should be 80, group is 0. Permissions differ on "Library/Printers/PPDs/Contents", should be drwxr-xr-x , they are dr-xr-xr-x .
「Repaired」と表示され修復されていることが分かります。
そもそも不要なはず?
Appleのサポートドキュメントでは、OS X El Capitanでディスクユーティリティから「アクセス権の検証・修復」機能が削除された理由として、パーミッションが自動で保護されるようになったためと説明されています。
Beginning with OS X El Capitan, system file permissions are automatically protected. It's no longer necessary to verify or repair permissions with Disk Utility.
手動でアクセス権の検証・修復を行う必要性は減少しているようですが、いざというときのために(?)覚えておいて損がないテクニックかもしれません。