📂
Linuxのパーミッション(アクセス権限)について
Linuxでは、ファイルやディレクトリに パーミッション(アクセス権限) が設定されており、
どのユーザーがどの操作をできるかを制御できます。
パーミッションとは?
パーミッション(Permission) とは、ファイルやディレクトリのアクセス権限のことです。
Linuxでは、ファイルごとに 「誰が」「どの操作をできるか」 を決めることができます。
パーミッションには以下の3つの権限があります。
説明 | 記号 | 2進数 | 8進数 |
---|---|---|---|
読み取り(read) | r |
100 |
4 |
書き込み(write) | w |
10 |
2 |
実行(execute) | x |
1 |
1 |
アクセス不可 | - |
0 |
0 |
例えば、rwx
なら「読み取り・書き込み・実行ができる」ことを意味します。
パーミッションの構造
Linuxのパーミッションは、「所有者」「グループ」「その他」 の3種類に分かれています。
$ ls -l
-rw-r–r– 1 user group 1234 Jan 1 12:34 file.txt
この -rw-r--r--
の部分がパーミッションを表しています。
位置 | 記号 | 名前 | 意味 |
---|---|---|---|
1文字目 |
- or d
|
ファイル種別 |
- はファイル、d はディレクトリ |
2-4文字目 | rw- |
ユーザーパーミッション | 所有者(user) の権限 |
5-7文字目 | r-- |
グループパーミッション | グループ(group) の権限 |
8-10文字目 | r-- |
アザーパーミッション | その他(other) の権限 |
例
パーミッション | 説明 |
---|---|
-rw-r--r-- |
所有者は読み書き可、グループとその他は読み取りのみ |
-rwxr-xr-x |
所有者は読み書き実行可、グループとその他は読み取りと実行可 |
-rw------- |
所有者のみ読み書き可、グループとその他はアクセス不可 |
chmod
コマンドでパーミッションを変更
パーミッションを変更するには chmod
コマンドを使います。
数値(8進数)で設定
chmod 755 file.txt
数値 | パーミッション |
---|---|
7 |
rwx (読み取り・書き込み・実行可) |
6 |
rw- (読み取り・書き込み可) |
5 |
r-x (読み取り・実行可) |
4 |
r-- (読み取りのみ) |
3 |
-XY (書き込み・実行可) |
2 |
-W- (書き込みのみ) |
1 |
--X (実行のみ) |
0 |
--- (アクセス不可) |
記号で設定
chmod u+x file.txt
(所有者に実行権限を追加)
chmod g-w file.txt
(グループから書き込み権限を削除)
chmod o+r file.txt
(その他に読み取り権限を追加)
chmod a+x file.txt
(全員に実行権限を付与)
chown
コマンドで所有者を変更
所有者(user)やグループ(group)を変更するには chown
コマンドを使います。
所有者を変更
chown newuser file.txt
所有者とグループをまとめて変更
chown newuser:newgroup file.txt
ディレクトリ配下をすべて変更
chown -R newuser:newgroup mydir/
chgrp
コマンドでグループを変更
グループだけを変更する場合は chgrp
を使います。
chgrp newgroup file.txt
パーミッションの確認方法
現在のパーミッションを確認するには ls -l
コマンドを使います。
$ ls -l file.txt
-rwxr-xr– 1 user group 1234 Jan 1 12:34 file.txt
また、stat
コマンドを使うとより詳細な情報を取得できます。
stat file.txt
まとめ
-
Linuxのパーミッションは以下の3種類
- 「ユーザーパーミッション(所有者)」
- 「グループパーミッション(グループ)」
- 「アザーパーミッション(その他)」
-
chmod
でパーミッション変更(数値 or 記号) chown
で所有者または、所有者andグループ変更chgrp
でグループ変更
Discussion