目次
Linux パーミッション(権限)とは
Linuxでは、ファイルやディレクトリごとに誰が何をできるかを権限(permission)で管理しています。
権限管理により、
- 他ユーザーからの不正操作を防ぐ
- システムファイルを保護する
- サービスごとのアクセス制御を行う
ことができます。
Linuxでは主に以下を管理します。
| 種類 | 内容 |
|---|---|
| 所有者(owner) | ファイルの所有ユーザー |
| グループ(group) | 所有グループ |
| その他(others) | 上記以外のユーザー |
ls -lで権限を確認
ls -l
-rw-r--r-- 1 root root 1200 May 1 10:00 test.txt
drwxr-xr-x 2 root root 4096 May 1 10:00 testdir
文字の位置の意味(-rw-r--r--とは)
ls -lの先頭1文字はファイル種別です。以下があります。
- : 通常のファイル
d : ディレクトリ
l : シンボリックリンク
次の3文字(rw-)は、ファイルの所有ユーザーのパーミッションです。
その次の3文字(r--)は、所有グループのパーミッションです。
その次の3文字(r--)は、上記以外のユーザーのパーミッションです。
rwxの意味
権限は以下の種類があります。
ファイルの場合
| 記号 | 意味 | 数値で表すと |
|---|---|---|
| r | 読み取り可能 | 4 |
| w | 書き込み可能 | 2 |
| x | 実行可能 | 1 |
| - | 許可無し | 0 |
ディレクトリの場合
| 記号 | 意味 | 数値で表すと |
|---|---|---|
| r | ファイル一覧を見れる | 4 |
| w | ファイル作成・削除・移動できる | 2 |
| x | ディレクトリに入れる(cd可能) | 1 |
| - | 許可無し | 0 |
ディレクトリのxは重要です。rがあってもxがない場合、lsはできてもcdはできません。
数値は権限で合計して表現します。
例:755
| rwxr-xr-x |
所有者は読み(r:4)+書き(w:2)+実行(x:1)ができます。数値の合計は7。
グループも読み(r:4)+実行(x:1)ができます。数値の合計は5。
その他は読み(r:4)+実行(x:1)ができます。数値の合計は5。
意味:
所有者は読み・書き・実行可能
その他は読み・実行のみ可能
主にディレクトリや実行ファイルで使われます。
例:644
| rw-r--r-- |
意味:
所有者のみ書き込み可能
その他は読み取りのみ
通常ファイルでよく使われます。
chmodで権限変更ができる
数字指定
chmod 755 test.sh
chmod 644 test.txt
chmod 777は全員に読み・書き・実行権限を与える強い権限のため注意が必要です。
記号指定
| 記号 | 意味 |
|---|---|
| u | owner |
| g | group |
| o | others |
| a | 全員 |
| + | 権限を追加 |
| - | 権限を削除 |
| = | 権限を指定したものだけにする |
chmod u+x test.sh
所有者(owner)に実行権限(x)を追加
chmod g-w file
グループから書き込み権限を削除
chmod u=rwx file
owner権限をrwxのみに設定
chmod +x test.sh
全員(owner/group/others)に対して実行権限を追加
chmod o-r file
その他ユーザーから読み取り権限を削除
chmod u+x,g-w,o-r file
owner に x追加、 group から w削除、 others から r削除
関連の記事
