\r\n\r\n
すべての主要なオペレーティングシステムと同様に、macOSでは、複雑なファイルパーミッションセットを使用してファイルへのアクセスを制限することができます。これらの設定は、FinderアプリケーションやMacターミナルのchmodコマンドを使って、自分で設定することができます。その方法をご紹介します。
Terminalを使わずにMac上のファイルのアクセス権を設定したい場合は、Finderアプリケーションを使用する必要があります。
Finderは、画面下のDockから起動できます。
Finderウィンドウでファイルやフォルダーを右クリックし、「情報を見る」を選択すると、パーミッションの表示と設定ができます。
ファイルやフォルダーの詳細情報は、開いた「情報」ウィンドウで確認することができます。ただし、ファイルのパーミッションを設定するには、「Sharing&permissi***」オプションの横にある矢印をクリックする必要があります。
Mac上のアカウントまたはユーザーグループの一覧が表示され、「権限」カテゴリーにアクセスレベルが表示されます。
権限を設定するアカウントまたはユーザーグループが一覧にない場合は、ウィンドウの下部にあるプラス(+)アイコンを選択します。
選択ウィンドウでユーザーまたはグループを選択し、[選択]ボタンをクリックすると、リストに追加されます。
アクセスレベルは自明で、「読み取り専用」のアクセスレベルを持つユーザーは、ファイルを編集することはできませんが、アクセスすることは可能です。アカウントが「読み取りと書き込み」のレベルに設定されている場合、両方の操作を同時に行うことができる。
リスト内のユーザーまたはグループに対してこれを編集するには、アカウントまたはグループの既存のレベルの横にある矢印をクリックし、リストから「Read Only」または「Read/Write」を選択します。
終了したら、「情報」ウィンドウを閉じます。
Linuxでchmodコマンドを使ったことがある人なら、その威力を知っているはずです。ターミナルコマンドを使用すると、ファイルやディレクトリの読み取り権限、書き込み権限、実行権限を設定することができます。
関連:Linuxでのchmodコマンドの使い方
しかし、chmodコマンドはLinuxだけのコマンドではありません。他の多くのLinux端末コマンドと同様に、chmodの歴史は1970年代にさかのぼり、Unix LinuxとmacOSはともにこの伝統を受け継いでいます。
chmodを使用するには、ターミナルウィンドウを開きます。Dock上のLaunchpadアイコンを押し、「その他」フォルダー内の「ターミナル」オプションをクリックすることで可能です。
または、Appleに内蔵されているSpotlight検索機能を使って端末を開くこともできます。
ファイルの現在のパーミッションを表示するには、次のように入力します。
ls -@l file.txt"file.txt "を自分のファイル名に置き換えてください。これにより、すべてのユーザーのアクセスレベル、およびmacOSに関連する拡張属性が表示されます。
ファイルのパーミッションは、lsコマンドの出力の最初の11文字で示されます。最初の文字であるアンダースコア(-)は、ファイルであることを示します。フォルダーの場合は、これを(d)に置き換えます。
次の9人のキャラクターは3つのグループに分かれています。
最初のグループはファイル/フォルダの所有者のアクセスレベル(1)、真ん中のグループはグループの権限(2)、最後の3つのグループはそれ以外のユーザーの権限(3)を表示します。
ここでは、r(読む)、w(書く)、x(実行する)などの文字も表示されます。これらのレベルは、常に次のような順序で表示されます。
最後の文字がアットマーク(@)の場合、そのファイルやフォルダーがセキュリティに関連する拡張ファイル属性を持っていることを意味し、そのため一部のアプリケーション(Finderなど)がそのファイルに持続的にアクセスできるようになります。
これは、macoscatalinaで導入された新しいセキュリティ機能との関連もありますが、ファイルアクセス制御リスト(acl)は2005年にmacosx10.4tigerが導入されて以来、Macの機能として採用されています。
関連記事:macOS Catalinaの新セキュリティ機能の仕組み
ファイルのパーミッションを設定するには、ターミナルでchmodコマンドを使用することになります。既存の権限をすべて削除するには、このユーザーに読み取りと書き込みの権限を設定し、他のすべてのユーザーに読み取り権限を許可するために、次のように入力します。
chmod u=rw,g=r,o=r file.txtuフラグはファイルの所有者のパーミッションを設定し、gはユーザーグループ、oはそれ以外のすべてのユーザーを示します。等号(=)を使用すると、そのカテゴリの以前の許可はすべて消去されます。
この例では、ファイルの所有者に読み取りと書き込みのアクセス権が与えられ、ユーザーグループとその他のユーザーには読み取りアクセス権が与えられています。
ユーザーレベルへのアクセスは、プラス記号(+)で追加することができます。
chmod o+rw file.txtこれにより、他のすべてのユーザーにファイルへの読み取りと書き込みのアクセス権が付与されます。
マイナス記号(-)で削除することができます。
chmod o-rw file.txtこれにより、他のユーザーの読み取りおよび書き込みのアクセス権がすべて削除されます。
全ユーザーの権限を消去、追加、削除するには、aフラグに変更します。
chmod a+rwx file.txtこれにより、すべてのユーザーとユーザーグループにファイルへの読み取りと書き込みのアクセス権が与えられ、すべてのユーザーがファイルを実行できるようになります。
chmodコマンドは、Mac上のファイルのパーミッションを変更するための広範で強力なツールであることは否定できません。例えば、文字(rwx)を3つ(または4つ)の8進数の組み合わせで置き換えることができ、最大777(読み、書き、実行用)まで可能です。
より詳細な情報が必要な場合は、ターミナルで man chmod と入力し、利用可能なフラグと設定の完全なリストを読んでください。