言語

アーカイブ - Mac OS X のアクセス権に関する問題のトラブルシューティング

Mac OS X のアクセス権の基本的な概念、アクセス許可 (Permissions)(または、アクセス権 (privileges))の設定を誤った場合に起こる問題、問題の解決方法について学習します。

この記事はアーカイブ済みで、これ以上更新されることはありません。

Repair Privileges ユーティリティの使用方法
Mac OS X をお使いのほとんどの方は、アクセス権を意図的に変更されていないので、単にシステムのアクセス権を正しいデフォルト値にリセットするユーティリティが必 要となります。Mac OS X 10.2 以降では、このユーティリティはオペレーティングシステムに含まれています。Mac OS X 10.1 をお使いの場合は、このユーティリティをダウンロードすることができます。バージョン 10.0 から 10.1.4 の場合は、先にバージョン 10.1.5 にアップデートする必要があります。

Mac OS X 10.2 以降では、「ディスクユーティリティ (Disk Utility)」(/アプリケーション/ユーティリティ/) を開きます。ディスクユーティリティウインドウの左側の欄から Mac OS X 起動ボリュームを選択して、「First Aid」タブをクリックします。「Repair Disk Permissions(ディスクアクセス権を修復)」ボタンをクリックします。誤ったメッセージが表示される場合があります。

フォルダ /Library/Receipts の内容に変更を加えていると、「アクセス権の修復」機能は期待通りに動作しません。アクセス権の修復には、アップルによってインストールされたソフトウェ アの“レシート (receipt)”が必要となります。さらに、このユーティリティは、アップルによってインストールされたソフトウェアとフォルダのみ(これらはユーザ のホームフォルダを含んでいません)を修復します。

詳しくは、About Disk Utility's Repair Disk Permissions feature (Mac OS X 10.2, 10.3)(英語の情報です)を参照してください。

これ以降の記事の内容には、より上級レベルの情報が含まれています。

警告:この記事では、「ターミナル (Terminal)」アプリケーションでコマンドを入力して、アクセス権の設定を変更する方法について説明します。「ターミナル (Terminal)」や UNIX ライクな環境に慣れていないユーザは、実行時に注意が必要です。誤ったコマンドを入力すると、データを損失したり、システムソフトウェアが使用できなくな る可能性があります。アクセス権の変更を不適切に行ってしまうと、システムのセキュリティを下げてしまったり、個人情報を危険にさらすことになります。


アクセス権が拒否される
Mac OS X には、ファイルシステムでアクセス権を 使用する UNIX スタイルのオペレーティングシステムがベースとなっている、サブシステムが組み込まれています。ハードディスク上のすべてのファイルとフォルダは、アクセ ス権に関連する設定を持ち、書き出し、読み込み、実行ができる人が決められています。例えば、AppleWorks アプリケーションとその書類の 1 つを使うとすると、アクセス権の意味は次のようになります:

  • Read (r--)
    AppleWorks 書類に対して「読み出し」アクセス権を持っていれば、その書類を開くことができます。
  • Write (-w-)
    AppleWorks 書類に対して「書き込み」アクセス権を持っていれば、その書類を変更して保存することができます。
  • Execute (--x)
    AppleWorks 書類に対して「実行」アクセス権を持っていれば、その書類を開くことができます。このアクセス権はアプリケーションやその他の実行可能ファイル形式にのみ適切なものです。

3 つのすべてが可能な場合は、"rwx" アクセス権を持っています。フォルダに対するアクセス権も同様に動作します。書類を含むフォルダへの「読み出しのみ」アクセス権では、書類を開いたり読ん だりすることはできますが、そのフォルダに変更して保存したり、新規ファイルを追加することはできません。「読み出し専用」(r--) アクセス権は、一般に、例えばゲストがアクセスする共有ファイルに設定されます。


オーナー、グループ、すべてのユーザ
"rwx" や "r-x" などの省略表記は、一人のユーザや全員のアクセス権を表します。各ファイルやフォルダに対するアクセス権のセットは、3 つのエントリへのアクセスを定義します:オーナーグループ、およびすべてのユーザ

  • オーナー - オーナーは、一般にはファイルを作成したユーザです。あなたのホームディレクトリにあるほとんどすべてのファイルとフォルダにはオーナーとしてあなたのユーザ名がついています。
  • グループ - 管理者ユーザは "staff" と "admin" と呼ばれるグループのメンバーです。一方、"root" と呼ばれるスーパーユーザは、これらのグループといくつかの他のグループのメンバーです。非管理者ユーザは、"staff" のみのメンバーです。一般には、すべてのファイルとフォルダは "staff"、"admin"、または "wheel" のグループのいずれかに割り当てられます。
  • すべてのユーザ - 「すべてのユーザ」とは、オーナー、またはファイルとフォルダに対するグループの一部ではない、すべてのユーザを指します。

各エントリが各自のアクセス権、例えば、"-rwxrw-r--" のような完全アクセス権を持っています。頭のハイフンは、その項目がファイルであってフォルダでないことを示します。フォルダのアクセス権は "drwxrw-r--" などのように頭に "d" がついて表示されます。"d" はディレクトリ (directory) に由来し、フォルダを表します。下の図 2 で、「ターミナル (Terminal)」アプリケーションでこれがどのように表示されるかを示します。

例:「テキストエディット (TextEdit)」の書類を作成する
「テキストエディット (TextEdit)」書類を作成して、あなたのホームディレクトリの「書類 (Documents)」フォルダに保存するとします。その書類はアクセス権を "-rw-r--r--" と設定されているので、あなたはファイルの読み書きはできますが、グループと他のユーザで指定されたものしか読み出しできません。これは、ファイルを「書 類 (Documents)」フォルダ (drwx------) に保存したからです。グループやその他のユーザはファイルを見ることすらできません。含まれているフォルダのアクセス権は、ファイルのオーナーのアクセス 権を実際に引き継ぎます。これは、Mac OS X のホームディレクトリの構成がどのようにプライバシーを提供するかを示しています。ファイルをあなたの「パブリック (Public)」フォルダ (drwxr-xr-x) にドラッグしてログアウトすると、他のユーザがコンピュータにログインしてあなたの public ファイルを読むことができます。


新規ファイルとフォルダに対するデフォルト設定

所有権の設定

  • 「ユーザ」は、新規ファイルやフォルダを作成したユーザです。
  • 「グループ」は、ファイルやフォルダを内包するディレクトリのグループです。

アクセス権

  • フォルダ(ディレクトリ) drwxr-xr-x
  • ファイル:-rw-r--r--


Root:"スーパーユーザ"
Mac OS X では、システムインストール時に "ルート" と呼ばれるスーパーユーザが作成されます。root ユーザはコンピュータ上のすべてのファイルやフォルダにアクセスすることができ、管理者アクセス権を普通のユーザに追加することもできます。コンピュータ の日常的な使用の際には、root ユーザとしてログインする必要はありません。実際、root ユーザはデフォルトでは使用できないようになっています。


アクセス権に関する問題
不適切なアクセス権を設定すると、予期できない動作が起こる可能性があります。以下にいくつかの例をあげ、トラブルシューティングの方法を説明します:

  • アプリケーションインストーラ、「アプリケーション (Applications)」フォルダ
    他社製のアプリケーションイ ンストーラが、インストールするファイルのアクセス権、あるいは「アプリケーション (Applications)」フォルダ全体のアクセス権さえも間違って設定することがあります。「アプリケーション (Applications)」フォルダのアクセス権が不適切に設定された場合の現象には、Dock 内でアプリケーションが“?”マークで表示される現象や、インターネットに接続できない現象も含まれます。また、あるユーザとしてログインした時にインス トールしたソフトウェアが、他のユーザとしてログインした時に使用できなくなる可能性があります。これらの問題を避けるには、ソフトウェアをインストール する際には、必ず、通常のユーザアカウント(このアカウントでソフトウェアを使用する)を使ってログインするようにします。
  • Mac OS 9 で作成したファイル
    Mac OS 9 で作成したファイルは、Mac OS X に root アクセス可能で表示されます。Mac OS X もインストールされているコンピュータで Mac OS 9 から起動すると、すべてのファイルの表示、移動、削除が可能で、root と同じ アクセス権が与えられます。このため、Mac OS 9 から起動した場合は、わからないファイルやフォルダを移動したり、開いたりしないほうがよいでしょう。
  • 停電
    ファイルシステムは停電(不適切なシステム終了)による影響を受けたり、応答しなくなる(「ハング」または「フリーズ」)可能性があります。これはアクセス権にも影響を及ぼす可能性があります。fsck を使用する必要がある場合があります。
  • ソフトウェアアクセス = ユーザアクセス
    ユーザによって実行される大部分のアプリケーションは、そのユーザがアクセス可能なファイルにのみアクセスできます。例えば、バックアップソフトウェアは、root アクセス権が設定されている Mac OS X システムファイルのバックアップを取ることはできません。
  • ゴミ箱を空にする
    状況によっては、書き込みアクセス権を持っていないフォルダがゴミ箱に入っている可能性があり ますが、それを削除したり、その中のファイルを削除することはできません。Mac OS X にある「ゴミ箱」フォルダは、ひとつだけではないことを覚えていてください。各ユーザがホームディレクトリに「ゴミ箱」フォルダを持っています(".Trash" という名前です)。また、起動ボリューム用の「ゴミ箱」フォルダや、その他のボリュームやディスク用の「ゴミ箱」フォルダもあります。ローカルの非起動ディスク上にあるファイルを削除すると、フォルダの名前は "/.Trashes/UID" (UID は対象となるユーザのユーザ ID です。これは NetInfo マネージャで調べることができます)となります。いずれの場合も、すべての「ゴミ箱」フォルダは Finder ではユーザから隠されています。このような状況では、Mac OS 9 から起動してファイルを探して削除したり、「ターミナル (Terminal)」アプリケーションを使うことができます。Mac OS X 10.2 以降では Finder がルートユーザとしてゴミ箱を空にするので、ゴミ箱を空にすることに関する問題は非常に起きにくくなります。ただし、ローカルルートユーザが特別なアクセ ス権を持っていないリモートボリューム上のファイルに対しては、問題がまだ発生する可能性があります。

    警告:入力ミスや "rm -rf" コマンドの誤った使用により、サーバのデータが失われる恐れがあります。例えば、誤った位置にスペースを挿入すると、ハードディスク上のデータを削除する可能性があります。以下のコマンドをテキストエディタにコピー&ペーストして、スペースの位置を確認してください。ログインユーザのゴミ箱を削除するには、次の手順に従ってください:

    1.「ターミナル (Terminal)」アプリケーションを開きます。
    2. 次のように入力します:sudo rm -rf
    注記:"-rf" の後にスペースを入力してください。スペースがないとコマンドは動作しません。手順 6 までは Return キーを押さないでください。
    3.「ゴミ箱」を開きます。
    4.「編集」メニューから「すべてを選択」を選びます。
    5. ゴミ箱の中のものをすべてターミナルウインドウにドラッグします。この操作により、ゴミ箱の中の各項目の名前と場所が、自動的にターミナルウインドウに入力されます。
    6. Return キーを押します。

    「ゴミ箱」の中のすべての項目は削除されます。別の方法として、以下のコマンドを実行することもできます。二つ目と三つ目のコマンドは他のユーザの所有する「ゴミ箱」を削除します。各コマンドは:

    警告:入力ミスや "rm -rf" コマンドの誤った使用により、サーバのデータが失われる恐れがあります。例えば、誤った位置にスペースを挿入すると、ハードディスク上のデータを削除する可能性があります。以下のコマンドをテキストエディタにコピー&ペーストして、スペースの位置を確認してください。

    重要:以下の "/" と ".Trash" または ".Trashes" との間にはスペースは入っていません。

    sudo rm -rf ~/.Trash/
    sudo rm -rf /.Trashes/
    sudo rm -rf /Volumes/<volumename>/.Trashes/

    この操作により、順に、使用中のユーザの「ゴミ箱」、起動ボリュームの「ゴミ箱」、(ある場合には)他のボリュームの「ゴミ箱」を完全に削除します。上記のコマンドはロックされたファイルは削除できません。はじめにファイルのロック解除を行う必要があります。

    注記:sudo コマンドを使って、一時的にスーパーユーザのステータスを入手し、それ以外では変更できないファイルのアクセス権を変更することが可能です。ただし、これ は管理者アカウントでログインしている場合にのみ可能であり、認証のために管理者アカウントユーザパスワードが必要です。


Finder の「情報」ウインドウでアクセス権を確認したり変更するには
Mac OS X Finder を使って、ファイルやフォルダに設定されているアクセス権設定を調べたり変更することができます。アクセス権を変更できるのは、オーナーであるファイルや フォルダに対してのみです。これは、アクセス権に関する問題をトラブルシューティングする際に役立つ可能性があります。「情報」ウインドウでアクセス権を 見たり変更するには、次の手順に従ってください:

    1. Finder でファイルやフォルダを選びます。
    2.「ファイル」メニューから「情報を見る」を選びます。
    3.「情報」ウインドウでポップアップメニューから“アクセス権”を選びます。
    4. ポップアップメニューで、アクセス権の設定を変更します(図 1)。
    5. オプション:アクセス権の変更をしているときに、含まれるフォルダに対しても同じ変更を適用したい場合は、“適用”をクリックします。“適用”ボタンはフォルダの情報ウインドウにのみ表示されます。

注記:「情報」ウインドウで行った変更は、変更直後に有効となります。ウインドウを閉じる前に有効になっています。




図 1:「情報」ウインドウの「アクセス権」


「ターミナル (Terminal)」でアクセス権を確認したり変更する
「ターミナル (Terminal)」アプリケーションは、「アプリケーション (Applications)」フォルダの「ユーティリティ (Utility)」フォルダの中にあります。「ターミナル (Terminal)」を使って、アクセス権を調べたり変更することができます。Finder の「情報」ウインドウトとは異なり、sudo コマンドを使用すると、いったんログアウトして、root としてもう一度ログインする手間が省けます。

警告:このツールを使用するためにはコマンドラインに関する基本的な知識が必要です。「ターミナル (Terminal)」アプリケーションが不適切に使用されると、データの損失やシステムソフトウェアが使用できなくなる可能性があります。

ファイルやフォルダのアクセス権を設定するには、「ターミナル (Terminal)」を開いてファイルやフォルダのあるディレクトリまで移動します。次にコマンド "ls -l" を実行します。図 2 のように出力が表示されます。



図 2:「ターミナル (Terminal)」でアクセス権を表示

図 2 の例では、読み出しビット (r) がすべてのユーザに設定されているので、すべてのユーザは "File Name1.ext" を読み出すことができます。しかし、書き込みビット (w) がオーナー(root)のみに設定されているので、変更できるのは root だけです。このファイルがシステムファイルでなく、通常のユーザアカウントから変更できるようにしたい場合は、次のコマンドでオーナーを変更することがで きます:

sudo chown yourusername "File Name1.ext"

このファイルは root が所有し、ログインしたユーザが所有するものではありませんが、"sudo" コマンドを使うと、一時的に root としてアクセスすることができます。yourusername の部分は、現在ログインする時に使用している「ユーザ名」で置き換えてください。

スペース構文:「ターミナル」上でファイルパスの中にスペースを入力するときは、注意が必要です。上記の例では、ファイル名が引用符 (") で囲まれていますが、これはスペースが含まれているためです。別の方法として、スペースを半角バックスラッシュ(\) とスペースに置き換えることができます。引用符 (") を使わないで、同じコマンドを入力すると次のようになります:

sudo chown yourusername File\ Name1.ext

所有者、グループ、およびアクセス権について詳しくは、man (manual) で chown、chgrp、および chmod のページを参照してください。man ページにアクセスするには "man <command_name>"を実行します。例えば:

man chmod

デフォルトでは、man ページは一度に 1 ぺージずつ表示されます。次のページに進むには、スペースバーを押します。man ページを終了するには、Q キーを押してください。

最終更新日: 2014/03/24
役に立ちましたか?
はい
いいえ
  • 最終更新日: 2014/03/24
  • 記事: HT2963
  • 表示回数:

    14924
  • 評価:
    • 100.0

    (1 件の回答)

その他の製品サポート情報

ディスカッションを開始
Apple サポートコミュニティ
この記事に関する質問をすべて見る 自分が投稿した質問をすべて見る