Linux アクセス権を学ぼう

アクセス権とは

Linuxでは、ファイルやディレクトリに3種類のユーザー(所有者、所有グループ(のメンバー)、それ以外のユーザー)の情報を持っています。
この3種類のユーザーそれぞれに、アクセス権(読み取り権、書き込み権、実行権、不可)が設定されています。
この3種類のユーザーに対して、それぞれのアクセス権を設定することを、パーミッションといいます。

例えば、
所有者は、ファイルの内容を読み出したり、書き込んだり出来る。
所有グループのメンバーは、ファイルの内容を読み出は出来るが、書き込みは出来ない。
それ以外のユーザーは、ファイルの内容を読み込みも、書き込みも出来ない。

3種類のユーザー

3種類のユーザー
1.所有者
2.所有グループ(のメンバー)
3.その他ユーザー
3種類のユーザー

アクセス権

アクセス権表記方法(文字) 表記方法(数字)
読み取り権(Read)r4
書き込み権(Write) w2
実行権(eXecute) x1
不可0
アクセス権

アクセス権は、アクセス権に対応する数字を足す事により表す事も出来ます。

アクセス権(数値)アクセス権
7rwx4 + 2 + 1 = 7
6rw-4 + 2 + 0 = 6
5r-x4 + 0 + 1 = 5
4r–4 + 0 + 0 = 4
3-wx0 + 2 + 1 = 3
2-w-0 + 2 + 0 = 2
1–x0 + 0 + 1 = 1
00 + 0 + 0 = 0
アクセス権の数値表記

パーミッションの確認

ファイルやディレクトリのパーミッションの確認には、ファイルの一覧を詳細表示する「ls -l」コマンドで確認出来ます。
「ls」コマンドについては、こちらの記事を参照して下さい。

ls -l

パーミッションの詳細

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

① ファイルの種類(ー:通常ファイル/d:ディレクトリ/l:リンク)
② 所有者のアクセス権
③ 所有グループのアクセス権
④ その他ユーザーのアクセス権
⑤ ハードリンク数
⑥ 所有者名
⑦ 所有グループ名
⑧ サイズ(バイト単位)
⑨ タイムスタンプ(更新日時)
⑩ ファイ名またはディレクトリ名

アクセス権に関連するコマンド

chown コマンド

コマンド説明
chownファイルの所有者を変更する。
書式chown [オプション] [所有者[:所有グループ]] ファイル名
オプション-R , –recursive 指定したディレクトリとその中にある全ファイルの所有者を変更する
実行例textfile.txt ファイルの所有者を centouser2 へ変更する
# chown centouser2 textfile.txt
chown コマンド
chown
実行例

chgrp コマンド

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

chmod コマンド

コマンド説明
chmodアクセス権を変更する。
書式chmod [オプション] アクセス権 ファイル名
オプション-R , –recursive ディレクトリ内の全ファイルのアクセス権を再帰的に変更する
実行例1textfile.txt ファイルのアクセス権を 755 に変更する
# chmod 755 textfile.txt
実行例2 sample.txt ファイルに全てユーザーの実行権を追加する
# chmod a+x sample.txt
実行例3 document.txt ファイルのその他ユーザーの読み取り権を削除する
# chmod o-r document.txt
chmod コマンド

アクセス権/対象ユーザー/権限の操作

chmod コマンドでは、アクセス権をどのユーザーに対して、どの様に付与(操作)するかを指定します。

アクセス権説明
r読み取り許可
w書き込み許可
x実行許可
アクセス権
対象ユーザー説明
u所有者(user)
g所有グループ(group)
oその他ユーザー(other)
aすべてのアクセス権ユーザー(all)
アクセス権の対象ユーザー
権限の操作説明
+権限を追加する
権限を削除する
=権限を指定する
権限の操作
chmod_1
実行例1
chmod_2
実行例2
chmod_3
実行例3
Linux

前の記事

Linux グループを学ぼう
Linux

次の記事

Linux シェルを学ぼう