Written by
JackYamamoto概要: この記事は、MacのTerminalで読み書き、実行権限を変更し、Chmodがうまく機能しない問題を修正するのに役立つ、iBoysoftからの記事です。
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でファイルの権限を確認するには、Terminalで次のコマンドを実行します。
ls -l
これにより、所有者、グループ、およびその他のすべてのファイルとその権限がリストされます。
例:
rw-r--r-- | 所有者の読み書きアクセスと、グループとその他のユーザーの読み取りのみアクセス。 |
rw------- | 所有者の読み書きアクセスと、グループとその他のユーザーへのアクセスなし。 |
rwxrw-rw- | 所有者への完全アクセスと、グループとその他のユーザーへの読み書きアクセス。 |
rwxr-xr-x | 所有者への完全アクセスと、グループとその他のユーザーへの読み取り/実行アクセス。 |
Mac Terminalで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の基礎を理解する必要があります。
Note: ファイルの所有者でない場合、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が機能しない場合?
chmodをMacで使用する際に間違えるとエラーが発生する可能性があります。ここでは、一般的なエラーと解決策をまとめました。
chmod: ファイルまたはディレクトリがありません
これは有効なファイルやディレクトリパスを提供していないことを意味します。正しいファイルパスを使用することで解決できます。
chmod: 操作が許可されていません
このメッセージはターミナルがフルディスクアクセスを持っていないときに表示されます。システム設定>プライバシー&セキュリティ>フルディスクアクセスで有効にできます。
chmod: コマンドが見つかりません
このエラーはコマンドの構文が間違っていることを示しています。
Chmodが権限を変更しない
chmodコマンドを正常に実行しても権限が変更されない場合、おそらくファイルの所有者ではありません。以下のコマンドを実行して所有者にしてください。
sudo chown -R $(whoami) .
このMacでchmodを知りたい他の人にこのガイドを共有しましょう!