🐕

権限まわりパーミッションについて解説

2022/12/12に公開

初めに

フォルダやファイルの権限まわりについてコマンドを使って解説していこうと思います。
パーミッションについての理解です。

1) パーミッションの確認

作業フォルダに移動して
ls -l

実行結果
total 0
-rw-r--r--  1 shouhei  staff     0B 12 12 00:29 file1
-rw-r--r--  1 shouhei  staff     0B 12 12 00:29 file2
-rw-r--r--  1 shouhei  staff     0B 12 12 00:29 file3
drwxr-xr-x  2 shouhei  staff    64B 12 12 00:22 test1
drwxr-xr-x  2 shouhei  staff    64B 12 12 00:22 test2
drwxr-xr-x  2 shouhei  staff    64B 12 12 00:22 test3

今回は適当にフォルダ3つとファイル3つを作って確認しています。
大事なのは、左のアルファベットの表示。

d/rwx/r-x/r-x
上記のように4つに分けられます。

パーミッションの読み方

一番左の文字はファイルの種別を表します。

種別 意味
d ディレクトリ
- ファイル
l シンボリックリンク
順番 所有者
2番目のrwx 所有ユーザー
3番目のr-x 所有グループ
4番目のr-x その他

上記のようにそれぞれに権限が分かれています。

d/rwx/r-x/r-x

アルファベットにもそれぞれ意味があり以下のようになっています。

アルファベット 権限
r 読み取り
w 書き込み
x 実行
アルファベット 数字
r 4
w 2
x 1
所有者 アルファベット
user u
group g
その他 o
全て a

上記を踏まえて、d/rwx/r-x/r-x は以下のように読み取れます。
所有ユーザーは、『読み取り』『書き込み』『実行』。
所有グループは、『読み取り』『実行』。
その他は、『読み取り』『実行』。
上記の権限は付与されています。

権限の変更はchmodコマンドを使う

chmod 権限の指定 ファイル名

2) パーミッションの権限を付与(数字で)

$ls -l
-rw-r--r--  1 user  group   0 12 12 00:29 file1

$chmod 777 file1
ユーザー、グループ、その他に全ての権限を付与

$ls -l
-rwxrwxrwx  1 user  group   0 12 12 00:29 file1

3) 権限を削除(アルファベットで)

$ls -l
-rwxrwxrwx  1 user  group   0 12 12 00:29 file1

$chmod u-x file1
ユーザーの実行権限を削除

$ls -l
-rw-rwxrwx  1 shouhei  staff   0 12 12 00:29 file1
変更方法 意味
+ 指定した権限を追加
- 指定した権限を削除
= 指定した権限にする

また、アルファベットを並べて複数指定し変更することも可能です。

数字とアルファベットと2通り変更する方法がありますが、好みだと思いますので、
覚えやすい方で使用して構わないかと思います。

以上になります。お読みいただきましてありがとうございます。

Discussion