Bash 速習チュートリアル

Bash ファイルの権限と所有権

1. ファイル権限と所有権の理解

Unix系オペレーティングシステムにおいて、ファイル権限(パーミッション)と所有権は、ファイルやディレクトリへのアクセスを管理するために極めて重要です。
すべてのファイルには「所有者(オーナー)」、「グループ」、および誰がそのファイルを「読み取り」、「書き込み」、「実行」できるかを決定する「権限セット」が割り当てられています。

2. ファイル権限(パーミッション)

ファイル権限は、オーナー、グループ、その他のユーザーに対する権限を示す一連の文字列で表されます。権限の種類は以下の通りです:

  • r: 読み取り権限 (Read)
  • w: 書き込み権限 (Write)
  • x: 実行権限 (Execute)

例えば、rwxr-xr-- という権限は、オーナーが読み取り・書き込み・実行が可能であり、グループは読み取りと実行が可能、その他のユーザーは読み取りのみが可能であることを意味します。

2.1 権限の数値表記

ファイル権限は数値(8進数)で表すこともでき、スクリプトやコマンドライン操作で頻繁に使用されます:

  • 0: 権限なし
  • 1: 実行権限 (x)
  • 2: 書き込み権限 (w)
  • 3: 書き込みおよび実行権限 (wx)
  • 4: 読み取り権限 (r)
  • 5: 読み取りおよび実行権限 (rx)
  • 6: 読み取りおよび書き込み権限 (rw)
  • 7: 読み取り、書き込み、および実行権限 (rwx)

例えば、数値表記の 755 は、オーナーが読み取り・書き込み・実行(7)、グループとその他のユーザーが読み取り・実行(5)できることを意味します。

3. ファイル所有権

各ファイルには、それに関連付けられた「オーナー」と「グループ」が存在します。通常、オーナーはそのファイルを作成したユーザーであり、グループはファイルへのアクセス権を共有するユーザーの集合です。

chownchgrp といったコマンドを使用して、それぞれファイルの所有権やグループを変更します。

4. 一般的なコマンド

ファイル権限と所有権を管理するための主なコマンドは以下の通りです:

  • chmod: ファイルの権限(パーミッション)を変更する
  • chown: ファイルの所有権(オーナー)を変更する
  • chgrp: グループの所有権を変更する