Linux アクセス権を学ぼう
アクセス権とは
Linuxでは、ファイルやディレクトリに3種類のユーザー(所有者、所有グループ(のメンバー)、それ以外のユーザー)の情報を持っています。
この3種類のユーザーそれぞれに、アクセス権(読み取り権、書き込み権、実行権、不可)が設定されています。
この3種類のユーザーに対して、それぞれのアクセス権を設定することを、パーミッションといいます。
例えば、
所有者は、ファイルの内容を読み出したり、書き込んだり出来る。
所有グループのメンバーは、ファイルの内容を読み出は出来るが、書き込みは出来ない。
それ以外のユーザーは、ファイルの内容を読み込みも、書き込みも出来ない。
3種類のユーザー
| 3種類のユーザー |
|---|
| 1.所有者 |
| 2.所有グループ(のメンバー) |
| 3.その他ユーザー |
アクセス権
| アクセス権 | 表記方法(文字) | 表記方法(数字) |
|---|---|---|
| 読み取り権(Read) | r | 4 |
| 書き込み権(Write) | w | 2 |
| 実行権(eXecute) | x | 1 |
| 不可 | – | 0 |
アクセス権は、アクセス権に対応する数字を足す事により表す事も出来ます。
| アクセス権(数値) | アクセス権 | |
|---|---|---|
| 7 | rwx | 4 + 2 + 1 = 7 |
| 6 | rw- | 4 + 2 + 0 = 6 |
| 5 | r-x | 4 + 0 + 1 = 5 |
| 4 | r– | 4 + 0 + 0 = 4 |
| 3 | -wx | 0 + 2 + 1 = 3 |
| 2 | -w- | 0 + 2 + 0 = 2 |
| 1 | –x | 0 + 0 + 1 = 1 |
| 0 | — | 0 + 0 + 0 = 0 |
パーミッションの確認
ファイルやディレクトリのパーミッションの確認には、ファイルの一覧を詳細表示する「ls -l」コマンドで確認出来ます。
「ls」コマンドについては、こちらの記事を参照して下さい。

パーミッションの詳細
「ls -l」コマンド の実行結果は、以下の様に表示されます。
②から④がアクセス権を表している部分で、
②所有者、③所有グループ、④その他ユーザーごとに、3桁でrwxのアクセス権の有無を表しています。
以下に、表示内容の詳細を示します。

① ファイルの種類(ー:通常ファイル/d:ディレクトリ/l:リンク)
② 所有者のアクセス権
③ 所有グループのアクセス権
④ その他ユーザーのアクセス権
⑤ ハードリンク数
⑥ 所有者名
⑦ 所有グループ名
⑧ サイズ(バイト単位)
⑨ タイムスタンプ(更新日時)
⑩ ファイ名またはディレクトリ名
アクセス権に関連するコマンド
chown コマンド
| コマンド | 説明 |
|---|---|
| chown | ファイルの所有者を変更する。 |
| 書式 | chown [オプション] [所有者[:所有グループ]] ファイル名 |
| オプション | -R , –recursive 指定したディレクトリとその中にある全ファイルの所有者を変更する |
| 実行例 | textfile.txt ファイルの所有者を centouser2 へ変更する # chown centouser2 textfile.txt |

chgrp コマンド
| コマンド | 説明 |
|---|---|
| chgrp | ファイルやディレクトリの所有グループを変更する。 |
| 書式 | chgrp [オプション] グループ ファイル/ディレクトリ |
| オプション | -R , –recursive ディレクトリ内のファイルやサブディレクトリも再帰的に変更する |
| 実行例 | textfile.txt ファイルの所有グループを centouser2 へ変更する # chgrp centouser2 textfile.txt |

chmod コマンド
| コマンド | 説明 |
|---|---|
| chmod | アクセス権を変更する。 |
| 書式 | chmod [オプション] アクセス権 ファイル名 |
| オプション | -R , –recursive ディレクトリ内の全ファイルのアクセス権を再帰的に変更する |
| 実行例1 | textfile.txt ファイルのアクセス権を 755 に変更する # chmod 755 textfile.txt |
| 実行例2 | sample.txt ファイルに全てユーザーの実行権を追加する # chmod a+x sample.txt |
| 実行例3 | document.txt ファイルのその他ユーザーの読み取り権を削除する # chmod o-r document.txt |
アクセス権/対象ユーザー/権限の操作
chmod コマンドでは、アクセス権をどのユーザーに対して、どの様に付与(操作)するかを指定します。
| アクセス権 | 説明 |
|---|---|
| r | 読み取り許可 |
| w | 書き込み許可 |
| x | 実行許可 |
| 対象ユーザー | 説明 |
|---|---|
| u | 所有者(user) |
| g | 所有グループ(group) |
| o | その他ユーザー(other) |
| a | すべてのアクセス権ユーザー(all) |
| 権限の操作 | 説明 |
|---|---|
| + | 権限を追加する |
| – | 権限を削除する |
| = | 権限を指定する |





