server-memo.net

Linuxのパーミッションについて

      2017/07/24

パーミッションとは

Linuxでは、ファイルやディレクトリを「パーミッション」と呼ばれているアクセス制御で「読み取り許可」「書き込み許可」「実行許可」といった動作の権限を、「所有ユーザ」「所有グループ」「その他のユーザ」といった分けで管理をしています。

パーミッションの確認

ファイルやディレクトリに設定されているパーミッションは、「ls 」コマンドに「-l」オプションを付けることで確認することが出来ます。

$ ls -l
total 8
drwxrwxr-x 2 tamohiko tamohiko 4096 Jul 13 14:53 test_dir
-rw-rw-r-- 1 tamohiko tamohiko   10 Jul 13 14:53 test.txt

パーミッションの詳細

下の図のように左から「所有ユーザ」「所有グループ」「その他のユーザ」といった順にそれぞれのパーミッションの設定が表示されています。

パーミッションはそれぞれ左から3文字ごとに「読み取り許可(r)」「書き込み許可(w)」「実行許可(x)」の設定となっていて、「-」が表示されている場合はその部分の権限が無いということになります。

表記 内容 ファイルへの権限 ディレクトリへの権限
r 読み込み許可 ファイルの参照(読み込み・表示)の許可 ディレクトリ内の一覧表示の許可
w 書き込み許可 ファイルの変更(書き込み・削除)の許可 ディレクトリ内ファイルやディレクトリの変更(作成・削除)を許可
x 実行許可 ファイルの実行を許可 ディレクトリ内へのアクセス許可
- 許可なし 許可なし 許可なし

rootユーザは別枠

なお、rootユーザはパーミッションに関係なく全ての操作を行うことが出来ます。

データの種類表記

一番左の表示部分はそのデータの種類を表しています。

表記 種類
- ファイル
d ディレクトリ
l シンボリックリンク
s SUIDまたはSGIDのフラグ
t スティッキービットのフラグ

パーミッションの数値表記

「ls」コマンドで表示されているパーミッションは「r」「w」「x」といった文字で表記されていますが、パーミッションは数値でも表記することが可能で「chmod」コマンドなどでパーミッションを設定する場合などは、数字を使用して設定することも出来ます。

文字表記と数値表記の対応表

文字表記のパーミッションと数字表記のパーミッションの対応表となります。

記号表記 数値表記 内容
r 4 読み込み許可
w 2 書き込み許可
x 1 実行許可
- 0 許可なし

数値でのパーミッション表記は許可される権限の数値を合計して表します。

rwx 4 + 2 + 1 = 7
rw- 4 + 2 + 0 = 6
r-x 4 + 0 + 1 = 5
r-- 4 + 0 + 0 = 4
-wx 0 + 2 + 1 = 3
-w- 0 + 2 + 0 = 2
--x 0 + 0 + 1 = 1
---
(何も許可しない)
0 + 0 + 0 = 0

パーミッションの数値表記例

-rw-rw-r-- 1 tamohiko tamohiko   10 Jul 13 14:53 test.txt

上記の場合はそれぞれのパーミッションが下記の通りとなるのでパーミッションは「664」となります。

  • 所有ユーザ 4(r) + 2(w) + 0(-) = 6
  • 所有グループ 4(r) + 2(w) + 0(-) = 6
  • その他のユーザ 4(r) + 0(-) + 0(-) = 4

 - システム設定