Mac でファイルのアクセス許可を変更し、そのファイルとディレクトリへのアクセスを制御する方法

公開: 2021-07-14

ファイル システムは、オペレーティング システム上のファイルとディレクトリの属性を提供し、コンピュータ上のどのユーザーがそのファイルとディレクトリの内容を読み取り、変更、または実行できるかを判断するのに役立ちます。

change file permissions on Mac

ほとんどのオペレーティング システムでは、従来の Unix パーミッションまたは ACL (Access Controls Lists) パーミッションを使用して、ファイルとディレクトリのアクセスを制御しています。

macOS について言えば、オペレーティング システムはバージョン 10.3 以降で Apple File System (APFS) を使用します。 APFS は従来の Unix パーミッションをサポートしているため、Mac 上のファイルやディレクトリのパーミッションをさまざまなユーザーやグループに対して変更することができます。

そのため、Mac 上のユーザーのアクセス許可を変更して、システム ファイルとディレクトリへのアクセスを制限したい場合は、このガイドをご覧ください。

目次

macOS ファイルのアクセス許可について

まず、macOS が提供するファイルとディレクトリのアクセス許可を見てみましょう。 Unix オペレーティング システムから派生した macOS は、次のアクセス許可を含む Unix アクセス許可セットをサポートします。

  • 読み取り:ファイルを読み取る機能を付与します。 ディレクトリで使用すると、この権限はディレクトリの名前を表示する機能を提供します。 しかし、その内容ではありません。
  • 書き込み:ファイルを変更する権限を付与します。 ディレクトリの場合、ディレクトリ内のエントリを変更して、ファイルの作成、名前変更、および削除を許可する機能を提供することで機能します。
  • 実行: (プログラム) ファイルを実行する機能を付与します。 ディレクトリに設定すると、ディレクトリのコンテンツ (サブディレクトリとファイル) へのアクセスが有効になり、ファイルのコンテンツにアクセスするための検索機能が提供されます。ただし、ファイルには読み取りアクセス許可も付与されます。

macOS では、Mac 上の 3 つのクラス、つまりusergroup 、および other のこれらのアクセス許可を管理できます。 これらのうち、ユーザークラスはファイルの作成者/所有者であり、グループは同じ権限を共有するシステム上の一連の異なるユーザーを表し、その他のクラスは所有者でもグループのメンバーでもないユーザーを指します。 .

GUI (グラフィカル ユーザー インターフェイス) または CLI (コマンド ライン インターフェイス) のどちらを好むかに応じて、Finder またはターミナルのいずれかを使用して、Mac 上のファイルのアクセス許可を変更できます。

Mac で Finder を使用してファイルのアクセス許可を変更する

Finder は、Mac でファイルとディレクトリのアクセス許可 (またはフォルダーのアクセス許可) を変更する最も簡単な方法の 1 つを提供します。 そのため、macOS を初めて使用し、ターミナルの使用に慣れていない場合は、Finder でアクセス許可を変更できます。

Mac でのさまざまなファイルとディレクトリのアクセス許可の内訳と、それらが Finder でどのように機能するかを次に示します。

  • 読み取りと書き込み:ユーザーがファイルまたはディレクトリを開いて変更できるようにします。
  • 読み取り専用:ユーザーはファイルまたはディレクトリを開くことができますが、変更を加えることはできません。
  • 書き込み専用 (ドロップ ボックス):ユーザーはアイテムをドロップ ボックス (パブリック フォルダー内のフォルダー) にのみ保存できます。
  • アクセスなし:ファイルまたはディレクトリへの完全なアクセスをブロックします。

これらのアクセス許可について理解したら、以下の手順に進み、Finder を使用して Mac でファイルのアクセス許可を設定できます。 ただし、システム上のさまざまなユーザーのファイル許可を変更できるようにするには、システム管理者である必要があることに注意してください。

  1. Finder を開き、権限を変更するファイルまたはディレクトリに移動します。
  2. ファイル/ディレクトリを右クリックし、コンテキスト メニューから [情報を見る] オプションを選択して、Mac 上のすべてのアカウントとユーザー グループのリストを権限カテゴリとともに取得します。
  3. [情報]ウィンドウで、一番下までスクロールして [共有とアクセス許可]セクションに移動し、誰がどの権限を持っているかを確認します。
    changing file permissions on Mac using Finder
  4. 右下の南京錠アイコンをタップし、管理者パスワードを入力して、権限の変更へのアクセスをロック解除します。
  5. 変更するクラスの権限に応じて、[名前]で選択し、[権限] タブでその横にある矢印ボタンをタップして、ポップアップ メニューから権限の種類を選択します。
    change file permissions on Mac using Finder

[共有とアクセス許可] の下にリストされていない Mac の新しいユーザーにアクセス許可を設定する場合は、プラス ボタンをクリックして [新しいユーザー] をタップします。 次のダイアログ ボックスで、ユーザー名とパスワードを入力し、[アカウントの作成]をタップします。 追加したら、ユーザー メニューから選択し、 [選択] ボタンをクリックします。 以降、上記の手順に従って権限設定を行うことができます。

アクセス許可の設定が完了したらすぐに、ロック アイコンをもう一度クリックしてアクセス許可の変更をロックし、[情報] ウィンドウを閉じます。

誤ってアクセス許可を台無しにしてしまった場合は、アクション ポップアップ メニュー (または 3 ドット メニュー) ボタンをクリックして [変更を元に戻す] をクリックすることで元に戻すことができます

ターミナルを使用して Mac でファイルのアクセス許可を変更する

Finder とは異なり、ターミナルを使用してファイルとディレクトリのアクセス許可を変更するのは少し複雑です。 効果的に使用するには、ターミナル コマンドに精通し、ファイル アクセス許可のアルファベットおよび数値表現 (または 8 進数のアクセス許可表記) を理解している必要があります。

ただし、一度慣れると、ファイルとディレクトリのアクセス許可を効率的に変更するために提供されるアクセス許可をきめ細かく制御できるようになります。

TechPPでも

これは、アルファベットと数字による許可の表現に慣れるための入門書です。

Unix ファイル許可では、許可セットは 11 文字で構成されます。 これらのうち、最初の文字は、アイテムがファイルかディレクトリかを識別します。 次の 9 文字は権限を識別します。 最後の文字は、アイテムが拡張属性を持つかどうかを示します。

それらの表現について言えば、最初の文字は常にハイフン ( ) または文字 ( d ) であり、ハイフンはファイルを表し、 d はディレクトリを表します。

セット内の次の 9 文字は、ユーザー、グループ、およびその他の 3 つのグループ/クラスに分割されます。 これらの各グループは、次のいずれかの文字で占められている 3 つの文字で構成されます: (許可なし)、 r (読み取り)、 w (書き込み)、およびx (実行)。

これらの文字を組み合わせると、次の権限が形成されます。

  • 読み取り、書き込み、実行権限がないことを表します。
  • r–読み取り許可のみを示します。
  • rw-は、ファイルが読み書きのみ可能であることを意味します。
  • rwxは、ファイルの読み取り、書き込み、および実行が可能であることを示します。
  • rxは、ファイルが読み取りと実行のみ可能であることを意味します。

一方、権限の数値表現では、上記の文字が数字に置き換えられます。 合計 8 つの数字を使用する必要があり、それらが表すものは次のとおりです。

  • 0 - 権限なし
  • 1 – 実行
  • 2 – 書き込み
  • 3 – 実行と書き込み
  • 4 – 読む
  • 5 – 読み取りと実行
  • 6 – 読み書き
  • 7 - 読み取り、書き込み、および実行

最後に、許可表記の最後 (11 番目) の文字は@です。 これは拡張属性と呼ばれ、macOS の特定のファイルとディレクトリに固有のものです。

基本を理解したら、次の手順を使用して、ターミナルでファイルまたはディレクトリのアクセス許可を設定できます。

ターミナル アプリを開きます — Spotlight 検索 (コマンド + スペース) または[Finder] > [アプリケーション] > [Terminal.app ] のいずれかを使用します。

アクセス許可を変更するディレクトリまたはファイルに移動します。 これを行うには、 lsコマンドを実行してアイテム (ファイルとディレクトリ) を一覧表示し、 cdを実行してそれらに移動します。

目的のディレクトリに移動したら、次の構文を使用してコマンドを実行します。

まず、次のコマンドを実行して、ファイルまたはディレクトリの現在のアクセス許可を特定しましょう。

ls -al file_name

change file permissions on Mac using Terminal

すべてのクラス (ユーザー、グループ、その他) の読み取り、書き込み、実行権限を変更して、ユーザーが 3 つの権限すべてを持ち、グループが読み取りと書き込みの権限を持ち、その他のクラスが読み取り権限のみを持つようにするには、 chmodを使用する必要があります。指図。 以下は、それを使用する方法に関するさまざまな構文です。

chmod ugo+rwxrw-r-- file_name

8 進数のパーミッション表記では、次のように実行します。

chmod 764 file_name

アクセス許可をアルファベット表記から数値表記に変換する際に問題が発生した場合は、chmod 計算機を使用してすばやく変換できます。

すべてのクラスに読み取りおよび書き込みアクセスを提供する場合:

chmod a+rw file_name

また

chmod 666 file_name

グループなどの実行権限を削除する場合は、ターミナル ウィンドウで次のコマンドを実行します。

chmod ug-x file_name

また

chmod 766 file_name

すべてのクラスのディレクトリ内の (同じ種類の) 複数のファイルに対する読み取りおよび書き込み権限を有効にするには、次のようにします。

chmod a+rw *.txt

…フラグaは、ユーザー、グループ、その他の 3 つのクラスすべてのユーザー権限を対象とするために使用されます。

また

chmod 666 *.txt

もちろん、これらは Mac でターミナルを使用してファイルのアクセス許可を変更できるユースケースのほんの一部に過ぎず、ターミナルが役立つシナリオは他にもたくさんあります。 また、上記の例は、そのような場合にファイルとディレクトリのアクセス許可を理解し、設定するのに非常に効率的に役立つはずです。

Mac でファイルのアクセス許可を正常に変更する

このガイドに厳密に従った場合は、macOS のさまざまなファイルとディレクトリのアクセス許可を理解しているはずです。 その後、好みに応じて (コマンド ベースまたはグラフィカル インターフェイス)、Mac のファイル アクセス許可を変更する方法を適宜選択できるはずです。