Macを使っているなら、速度低下、突然のクラッシュ、Macが起動しないなど、あらゆる問題の解決策として「権限の修正」という言葉を耳にしたことがあるでしょう。この言葉は様々な問題を指すため、この言葉を聞くと「権限とは一体何なのか」「権限とは何なのか」「本当にMacでこのルーチンを実行する必要があるのか」と疑問に思うかもしれません。
アクセス権を理解するには、ハードドライブのフォーマットを高度に枝分かれした木としてイメージしてみてください。ドライブの最上位レベルは幹で、それぞれの枝はドライブ上のファイルやフォルダに関する情報を表すノードです。これはMacのファイルシステムを少し大まかに表したものかもしれませんが、ハードドライブ上の各項目は「ノード」と呼ばれるものによって表されていることを覚えておいてください。
これらのノードには、ドライブ上のファイル データの場所とその組織の階層構造に関する情報、および各ノードで許可されるアクセスの種類を決定するアクセス許可ルールが含まれています。
本質的に、ファイル システムのアクセス許可はファイルとフォルダーへのアクセスを制限しますが、これは次の 2 つの重要な理由で重要です。
セキュリティ:技術的には、Macはすべてのユーザーとプログラムがすべてのファイルにフルアクセスでき、問題なく動作します。しかし、一部のリソースへの不適切なアクセスにより、他のユーザーがすべてのドキュメントを閲覧でき、実行中のプログラムが機密情報にアクセスできるようになります。サイバー犯罪が蔓延する昨今、このセキュリティは非常に重要です。
安定性: Macは権限制限なしでも問題なく動作しますが、不適切または悪意を持ってコーディングされたプログラムが、認証を必要とせずにシステムファイルを変更することで、システムに損害を与える可能性があります。その結果、クラッシュが発生し、システムが使用できなくなる可能性があります。
これらの問題はファイル アクセスに制限がない場合に発生する可能性がありますが、その逆の場合も問題が発生する可能性があります。つまり、不適切なアクセス許可設定によってファイルが不適切にロックダウンされると、必要なアクセスが妨げられ、アプリケーションやシステム サービスがハングしたりクラッシュしたりするなど、望ましくない動作が発生する可能性があります。
これらの問題の結果として、OS X とアプリケーションが安全に実行するために必要な重要なファイルとフォルダには、管理者などの特別なグループのメンバーにのみシステムファイルの書き込みアクセスを許可するなど、適切なレベルの権限制限を設定する必要があります。
単一のファイルまたはフォルダの権限を構成して必要なアクセス レベルを付与する方法は多数ありますが、OS X 権限データベースは、次の 2 つのディレクトリにある「部品表」(.bom) ファイルの単なるコレクションであり、開発者がプログラムのファイルに対して指定できる権限のセットは 1 つだけです。
/var/db/領収書
/ライブラリ/領収書
権限修正ルーチンを実行すると、OS X はディスク上の権限をデータベース内の .bom ファイルのデフォルトの権限と比較し、権限が開発者の意図どおりになるように更新します。
権限修正の実行
この権限修正ルーチンを実行するには、いくつかのオプションがあります。
ディスクユーティリティ:ディスクユーティリティを使用するのは、アクセス権の修復を実行する最も一般的な方法です。プログラムを起動し、ブートボリュームを選択して「First Aid」タブをクリックすると、ディスクのアクセス権の検証と修復のオプションが表示されます。どちらの方法でも実行できます。最初の方法では、潜在的な不整合を通知するドライランが実行され、2番目の方法では修復オプションが提供されます。ディスクユーティリティは、この目的でOS Xから直接実行することも、リカバリモードから実行することもできます。
ディスク ユーティリティは、アクセス許可の修正を実行するための最も一般的な (そして最も簡単な) 方法です。
ターミナル:多くのプログラムと同様に、Apple はディスクユーティリティのターミナルベースのバージョンを「diskutil」コマンドに組み込んでおり、これも権限の修正を実行できます (修正ルーチンを呼び出すには、「verifyPermissions」を「repairPermissions」に置き換えるだけです)。
diskutil verifyPermissions /
ディスクユーティリティとターミナルを使用して従来のアクセス権修復ルーチンを実行しますが、このルーチンはシステムファイルとインストール済みアプリケーションのコンポーネントのみを対象とします(開発者がレシートにこの情報を提供している場合)。つまり、ホームフォルダとそこに設定されているデフォルトのアクセス権によるセキュリティは、アクセス権修復の影響を受けません。ただし、ホームフォルダのアクセス権も変更され、他のユーザーからファイルを保護できなくなる場合があります。
ターミナルから権限の修正を実行することもできます。
この問題に対処するため、Appleはホームフォルダのアクセス権を修復するオプションを提供しています。このオプションは、Macをリカバリモードで再起動(起動音が聞こえたらCommandキーとRキーを同時に押す)することで起動できます。OS X Toolsインターフェースが表示されたら、「ユーティリティ」メニューから「ターミナル」を選択します。ここで「resetpassword」(すべて1語)コマンドを実行すると、隠しユーティリティが起動します。このユーティリティで起動ドライブを選択し、ドロップダウンメニューからユーザー名を選択します。ユーティリティの下部にあるボタンをクリックすると、ホームフォルダのアクセス権とACL(ACLは最新の高度なアクセス権ルールです)がリセットされます。
ターミナルからコマンド「resetpassword」(すべて 1 つの単語)を実行すると、隠しユーティリティが起動します。
では、疑問が生じます。ディスクのアクセス権を修復するのに最適なタイミングはいつでしょうか? 答えは、日常的な作業では「ほとんど必要ありません」です。Macに大きな変更を加えた後、特にOSのアップグレード後にダウングレードするなど、サポートされていない変更を加えた後に一度だけ必要になります。ただし、プログラムのインストール後やソフトウェアのアップデート後にも実行できる場合があります。
これを念頭に置くと、権限検証を実行した際に、修復が必要な通常の項目が表示された場合、混乱するかもしれません。ほとんどの場合、これらの修復は権限への無害な変更後に発生し、開発者が複数の権限ルールセットを同じ目的で使用できるにもかかわらず、1つの権限ルールセットしか含めることができないため、警告として表示されるだけです。
全体的に見て、検証時にアクセス権エラーが発生することが懸念される場合は、修復ルーチンを実行して、システムに関連するすべてのアクセス権をチェックし、更新してください。プログラムがハングアップしたり、クラッシュしたり、異常な動作(例えば、ファイルを保存できないなど)を示していない限り、アクセス権について心配する必要はありません。多くの場合、Mac で実際にアクセス権の問題が発生しているわけではありません。アクセス権の修正で問題が解決しない場合は、別の原因を調査してください。