最終更新:2025-02-22
chmod
コマンドは、Unix系システムにおいてファイルやディレクトリのパーミッション(アクセス権)を変更するための基本的なコマンドである。
パーミッション設定により、読み取り、書き込み、実行の各権限をユーザー、グループ、その他に対して適切に付与または剥奪することが可能である。
この機能は、ファイルセキュリティを確保するために非常に重要である。
パーミッションの仕組み
Unixシステムでは、各ファイルやディレクトリには3種類のアクセス権が割り当てられている。
- 読み取り権 (r): ファイルの内容を読み取ることができる。
- 書き込み権 (w): ファイルの内容を変更できる、またはディレクトリ内のファイルを作成・削除できる。
- 実行権 (x): ファイルを実行できる、またはディレクトリ内にアクセスできる。
これらの権限は、所有者(user)、グループ(group)、その他(others)に対して設定される。例えば、rwxr-xr--
というパーミッションの場合、所有者は読み取り、書き込み、実行が可能であり、グループは読み取り、実行が可能、その他は読み取りのみ可能である。
数値表現と記号表現
chmod
コマンドは、主に2種類の方法でパーミッションを設定する。
- 数値表現: それぞれの権限に対して数字を用いる。例:
7
はrwx
、6
はrw-
、5
はr-x
、4
はr--
を意味する。
例:chmod 754 filename
は所有者にrwx
、グループにr-x
、その他にr--
を設定する。 - 記号表現: 権限の追加・削除を記号で指定する。例:
chmod u+x filename
は所有者に実行権を追加する。chmod go-w filename
はグループとその他から書き込み権を剥奪する。
ハンズオン
以下に、chmod
コマンドの具体的な使用例を示す。これにより、ファイルのパーミッションの設定方法を理解し、実際のシステム管理に役立てることができる。
1. 数値表現によるパーミッションの設定
以下のコマンドでは、ファイルexample.txt
のパーミッションを、所有者にrwx
、グループにr-x
、その他にr--
に設定する。
chmod 754 example.txt
これは、ファイルの所有者が自由に読み書き実行できる一方、グループは実行と読み取りのみ可能で、その他は読み取りのみ可能となる。
2. 記号表現によるパーミッションの変更
ファイルscript.sh
に対して、所有者に実行権を追加し、グループとその他から書き込み権を削除する場合、以下のコマンドを使用する。
chmod u+x,go-w script.sh
この結果、script.sh
の所有者は実行可能となり、グループとその他には書き込み権がなくなる。
3. ディレクトリへの適用
ディレクトリの場合も同様にchmod
コマンドを使用する。例えば、ディレクトリproject
とその中の全ファイルに対して、所有者にrwx
、グループにrx
、その他にrx
を設定する場合、以下のように再帰的オプション-R
を付与する。
chmod -R 755 project
この操作により、project
ディレクトリ内の全ファイルおよびサブディレクトリに対して、適切なアクセス権が設定される。