パーミッションの基本

パーミッション

パーミッションとは?

Linuxのパーミッション(権限)は、ファイルやディレクトリのアクセス制御を行うための仕組みです。これにより、ユーザーやグループがファイルやディレクトリに対してどのような操作ができるかを制御します。本記事では、Linuxのパーミッションの概要とその詳細について詳しく解説します。

パーミッションの基本

1. パーミッションの種類

Linuxでは、ファイルやディレクトリのパーミッションは3種類の権限で構成されています:

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

2. パーミッションの対象

パーミッションは以下の3つの対象に対して設定されます:

  • 所有者(Owner):ファイルやディレクトリの所有者。
  • グループ(Group):ファイルやディレクトリが属するグループのメンバー。
  • その他(Others):所有者やグループに属さないすべてのユーザー。

パーミッションの表示形式

1. ls -lコマンド

ファイルやディレクトリのパーミッションを確認するためには、ls -lコマンドを使用します。以下のような出力が得られます:

-rwxr-xr--

この出力の各部分の意味は以下の通りです:

  • -:ファイルのタイプ(-は通常のファイル、dはディレクトリ)。
  • rwx:所有者のパーミッション(読み取り、書き込み、実行)。
  • r-x:グループのパーミッション(読み取り、実行)。
  • r--:その他のユーザーのパーミッション(読み取り)。

ファイルとディレクトリのパーミッションの意味

1. ファイルのパーミッション

  • 読み取り(Read, r):ファイルの内容を読み取ることができる。
  • 書き込み(Write, w):ファイルの内容を変更することができる。
  • 実行(Execute, x):ファイルを実行することができる(実行可能ファイルに適用)。

2. ディレクトリのパーミッション

  • 読み取り(Read, r):ディレクトリ内のファイル名をリストすることができる。
  • 書き込み(Write, w):ディレクトリ内にファイルを作成、削除することができる。
  • 実行(Execute, x):ディレクトリにアクセスし、cdコマンドなどでディレクトリを移動することができる。

パーミッションの表示と設定

1. 数値表記

パーミッションは数値でも表現できます。各権限は以下のように数値化されます:

  • 読み取り(r):4
  • 書き込み(w):2
  • 実行(x):1

これらを組み合わせることで、各対象のパーミッションを数値で表します。例えば、rwxr-xr--は以下のように数値で表されます:

  • 所有者:rwx = 4 + 2 + 1 = 7
  • グループ:r-x = 4 + 0 + 1 = 5
  • その他:r-- = 4 + 0 + 0 = 4

したがって、rwxr-xr--755として表現されます。

パーミッションの変更

1. chmodコマンド

パーミッションを変更するためには、chmodコマンドを使用します。以下は数値表記を用いた例です:

$ chmod 755 filename

また、シンボリック表記を用いることもできます:

$ chmod u=rwx,g=rx,o=r filename

ここで、uは所有者、gはグループ、oはその他のユーザーを表します。

まとめ

Linuxのパーミッションは、ファイルやディレクトリのアクセス制御を行うための強力な仕組みです。所有者、グループ、その他のユーザーに対して、読み取り、書き込み、実行の各権限を設定することで、システムのセキュリティと管理を効率的に行うことができます。Linuxシステムの管理には、パーミッションの理解と適切な設定が不可欠です。