Home
774 words
4 minutes
【Unix】chmodコマンドの解説
2025-02-22

最終更新:2025-02-22

chmodコマンドは、Unix系システムにおいてファイルやディレクトリのパーミッション(アクセス権)を変更するための基本的なコマンドである。

パーミッション設定により、読み取り、書き込み、実行の各権限をユーザー、グループ、その他に対して適切に付与または剥奪することが可能である。

この機能は、ファイルセキュリティを確保するために非常に重要である。

パーミッションの仕組み#

Unixシステムでは、各ファイルやディレクトリには3種類のアクセス権が割り当てられている。

  • 読み取り権 (r): ファイルの内容を読み取ることができる。
  • 書き込み権 (w): ファイルの内容を変更できる、またはディレクトリ内のファイルを作成・削除できる。
  • 実行権 (x): ファイルを実行できる、またはディレクトリ内にアクセスできる。

これらの権限は、所有者(user)、グループ(group)、その他(others)に対して設定される。例えば、rwxr-xr--というパーミッションの場合、所有者は読み取り、書き込み、実行が可能であり、グループは読み取り、実行が可能、その他は読み取りのみ可能である。

数値表現と記号表現#

chmodコマンドは、主に2種類の方法でパーミッションを設定する。

  • 数値表現: それぞれの権限に対して数字を用いる。例: 7rwx6rw-5r-x4r--を意味する。
    例: 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ディレクトリ内の全ファイルおよびサブディレクトリに対して、適切なアクセス権が設定される。

【Unix】chmodコマンドの解説
https://ss0832.github.io/posts/20250222_chmod_command_guide/
Author
ss0832
Published at
2025-02-22