Macでのchmodユーティリティは、ファイルやディレクトリのファイルシステムモードや権限を変更するために使用されます。誰がファイルを読み取り、書き込み、実行できるかを制御します。Macで権限を変更する必要がある場合は、その使用方法を学ぶ必要があります。
Macでの7種類のファイル権限
ファイル権限には、読み取り、書き込み、実行の3種類があります。すべてのファイルまたはフォルダには、これらの権限のいずれかが1つ以上あり、7つのアクセスレベルを形成します。これを活用するために、Unixベースのシンボリックおよび8進数の権限表記が用意されており、以下の表に示されています。
権限の種類 | シンボリック表記 | 8進数表記 |
権限なし | --- | 0 |
実行のみ | --x | 1 |
書き込みのみ | -w- | 2 |
書き込みと実行 | -wx | 3 |
読み取りのみ | r-- | 4 |
読み取りと実行 | r-x | 5 |
読み取りと書き込み | rw- | 6 |
読み取り、書き込み、実行 | rwx | 7 |
Macでファイルの権限を確認するには、ターミナルで次のコマンドを実行します。
ls -l
これにより、所有者、グループ、およびその他のすべてのファイルとその権限がリストされます。
例:
rw-r--r-- | 所有者の読み書きアクセスと、グループとその他のユーザーの読み取りのみアクセス。 |
rw------- | 所有者の読み書きアクセスと、グループとその他のユーザーへのアクセスなし。 |
rwxrw-rw- | 所有者への完全アクセスと、グループとその他のユーザーへの読み書きアクセス。 |
rwxr-xr-x | 所有者への完全アクセスと、グループとその他のユーザーへの読み取り/実行アクセス。 |
Mac ターミナルで chmod を実行する場合、権限の指定に記号表記または 8 進表記を使用できます。
① シンボリック表記は、異なるユーザーのために特定の権限を追加、削除、または設定するために、+、-、または=を使用します。
シンボル | 説明 |
+ | 権限を追加します。 |
- | 権限を削除します。 |
= | 権限を明示的に設定します。 |
ユーザー種類 | 意味 |
ユーザー(u) | ファイルの所有者。 |
グループ(g) | ファイルのグループのユーザー。 |
その他(o) | その他の全てのユーザー。 |
全て(a) | ユーザー、グループ、およびその他の全て。 |
例:
chmod u+x ファイルパス | 所有者に実行権限を追加します。 |
chmod g-w ファイルパス | グループから書き込み権限を削除します。 |
chmod o=r ファイルパス | その他のために読み取り専用権限を設定します。 |
chmod a=rw- ファイルパス | 以前に設定されていた場合、全てのユーザーの読み取りおよび書き込み権限を設定した後、実行権限を削除します。 |
② 8進数表記は、ユーザー、グループ、およびその他の権限を表すために数字(0-7)を使用します。
例:
chmod 755 ファイルパス | 所有者に完全な権限を設定し、グループとその他に対して読み取り/実行を許可します。 |
chmod 777 ファイルパス | 全てのユーザーに完全な権限を付与します。 |
chmod 400 ファイルパス | 所有者に読み取り専用権限を設定し、グループとその他に対して全ての権限を拒否します。 |
chmod 644 ファイルパス | 所有者に読み取り/書き込みアクセス権を与え、グループとその他に対して読み取り専用を許可します。 |
各権限の表記法を知ったら、ターミナルでchmodユーティリティを実際に使用することができます。
Macでターミナルを使用して権限を変更する方法
Macでファイルの権限を変更するには、まずchmodの基礎を理解する必要があります。
注意: ファイルの所有者でない場合、chmodは機能しません。
chmodの基本的な構文は次のとおりです:
chmod オプション 権限 ファイル/ディレクトリパス
オプション:
-R:再帰的。このオプションを使用すると、ディレクトリとその内容の権限が変更されます。
パーミッション:
シンボリック表記または8進表記で指定します(上記参照)。
ファイル/ディレクトリパス:
パーミッションを変更するファイルまたはディレクトリへのパス。Macでファイルパスを取得する簡単な方法は、ファイルをターミナルウィンドウにドラッグ&ドロップすることです。
chmodの一般的な使用例
- Macターミナルで読み取り、書き込み、または実行パーミッションを変更する方法を以下に示します。
他のパーミッションを変更せずに、所有者に読み取り/書き込みパーミッションを追加します。
chmod u+rw ファイルパス
グループから実行権限を削除し、他の権限を変更しない場合:
chmod g-x ファイルパス
すべてに読み取り権限を設定する:
chmod a=r ファイルパス
所有者に読み書き実行権限を設定し、グループとその他に読み取り実行権限を設定し、フォルダーのすべてのファイルとサブフォルダーに変更を適用する:
chmod -R 755 ファイルパス
スクリプトを実行可能にする:
chmod +x ファイルパス
このガイドを共有してMacでファイルのchmodを他の人に支援しましょう!
MacでのChmodが機能しない場合?
Macでchmodを正しく使用しないと、エラーが発生する可能性があります。ここでは、よくあるエラーとその解決策をまとめました。
chmod: ファイルまたはディレクトリがありません
これは有効なファイルやディレクトリパスを提供していないことを意味します。正しいファイルパスを使用することで解決できます。
chmod: 操作が許可されていません
このメッセージはターミナルがフルディスクアクセスを持っていないときに表示されます。システム設定>プライバシーとセキュリティ>フルディスクアクセスで有効にできます。
chmod: コマンドが見つかりません
このエラーはコマンドの構文が間違っていることを示しています。
Chmodが権限を変更しない
chmod コマンドの実行は成功したものの、パーミッションが変更されない場合は、ファイルの所有者ではない可能性があります。この問題を解決するには、以下のコマンドを実行して、自分自身を所有者にすることができます。
sudo chown -R $(whoami) .
このMacでchmodを知りたい他の人にこのガイドを共有しましょう!