
OS X El Capitan で権限を確認・修復する方法
ディスクユーティリティアプリには、Macのディスクアクセス権の確認と修復機能が長らく搭載されていましたが、最新バージョンのOS Xではこの機能は削除されました。ただし、OS X El Capitan 10.11以降ではアクセス権の確認と修復が不可能というわけではありません。コマンドラインから行う必要があります。
誤解のないよう明確に述べておくと、ディスクアクセス権の検証と修復は、Mac のあらゆる問題に対する解決策として長らく過剰に利用されてきました。しかし、そのほとんどは正確性や正当性に欠けています。この意味で、アクセス権の修復は、ほとんどの OS X 環境ではほとんど効果のない、一種のまやかしとみなされています。しかし、それでもなお、OS X でディスクアクセス権の検証と修復が必要となる特殊な状況も存在します。特に、ファイルのアクセス権が実際に無効になっている場合、つまり特定のユーザーやプロセスが特定のファイルやフォルダを読み書きできる場合などです。
これはディスクの検証と修復と同じではないことに注意してください。
OS X El Capitanでディスクアクセス権の検証を修復する方法
ターミナル アプリケーション (/Applications/Utilities/ にあります) を開き、次の構文を使用してボリュームの権限を確認します。これにより、Mac のデフォルトのルート ボリュームが検証されます。
sudo /usr/libexec/repair_packages --verify --standard-pkgs /
別のドライブの権限を確認する場合は、「/」ではなくボリュームを指定します。
コマンドが実行され、見つかった内容に応じて、異なる権限が表示されるか、何も表示されないかのどちらかになります。当然のことながら、次のような、異なる権限のバリエーションが見つかる可能性があります。
Permissions differ on "usr/libexec/cups/cgi-bin", should be drwxr-xr-x , they are dr-xr-xr-x .
Permissions differ on "usr/libexec/cups/daemon", should be drwxr-xr-x , they are dr-xr-xr-x .
Permissions differ on "usr/libexec/cups/driver", should be drwxr-xr-x , they are dr-xr-xr-x .
Permissions differ on "usr/libexec/cups/monitor", should be drwxr-xr-x , they are dr-xr-xr-x .
OS X El Capitan のディスクアクセス権をコマンドラインから修復する方法
異なる権限が見つかり、それを修復したい場合は、–verify フラグを –repair に置き換え、再度同じボリュームに対してコマンドを実行します。
sudo /usr/libexec/repair_packages --repair --standard-pkgs --volume /
ディスクユーティリティの場合と同様に、アクセス権の修復にはしばらく時間がかかる場合があります。
sudo を使用せず、指定やフラグも指定せずに repair_packages コマンドを実行すると、代わりに簡単なヘルプ ガイドが表示されます。
$ /usr/libexec/repair_packages
Usage: repair_packages [ARGUMENTS]...
Commands:
--help Print this usage guide.
--list-standard-pkgs Display the package ids in the standard set.
--verify Verify permissions on files in the specified package(s).
--repair Repair permissions on files in the specified package(s).
Options:
--pkg PKGID Verify or repair the package PKGID.
--standard-pkgs Verify or repair the standard set of packages.
--volume PATH Perform all operations on the specified volume.
--output-format # Print progress info using a special output format.
--debug Print debuging information while running.
示唆されているように、これは実際には Mac のメンテナンス ルーチンの一部として定期的に実行すべきものではなく、ほとんど必要ありません。そのため、Apple はこれをディスク ユーティリティ アプリケーションから削除したと考えられます。
ちなみに、OS X の以前のリリースにも、ディスクのアクセス権を修復するためのコマンド ライン アプローチはありますが、代わりにディスク ユーティリティ コマンド ライン ツールを通じて処理されます。