Linuxのパーミッションについてまとめる
最初の1文字は、ファイル種別を表している。
以降3文字単位でファイルのオーナー別に権限を表している。
2~4文字目 ユーザー ファイルの所有者に対する権限
5~7文字目 グループ ファイルの所有グループに対する権限
8~10文字目 その他 その他に対する権限
権限の種類は以下の3つある。
r 読み取り
w 書き込み
x 実行
ファイルとディレクトリのどちらかによって意味合いが変わるので注意。
r 読み取り ファイルの内容を読み出すことができる
w 書き込み ファイルの内容を編集可能
x 実行 ファイル自体をプログラムとして実行可能
r 読み取り ディレクトリ配下のファイル一覧を表示できる
w 書き込み ディレクトリ配下でのファイル作成や削除ができる※1
x 実行 ディレクトリに移動することができる※2
※1 ディレクトリ配下のファイルは書き込み権限がなくとも削除ができる
※2 ディレクトリに実行権限が与えられていない場合、そのディレクトリ移動できなくなる
ls -l hoge.md
-rw-r--r-- 1 bmf staff 652 Jul 18 11:45 hoge.md
hoge.mdのパーミッション
ファイル種別:ファイル
ユーザーに対する権限:読み込み/書き込み
グループに対する権限:読み込み
その他に対する権限:読み込み
数値で指定する方法とアルファベットで指定する方法がある。
パーミッションの設定にはchmodコマンドを使用する。
chmod モード 対象ファイル名
3つの数字を使って、3桁でパーミッションを指定する。
100の位がユーザー、10の位がグループ、1の位がその他。
4 r 読み取り
2 w 書き込み
1 x 実行
複数の権限を与えたい場合は、数字の合計を指定する。
例えば、読み取りと書き込みの権限を与えたい場合は、6を、全ての権限を与えたい場合は、7を指定する。
ls -l hoge.md
-rw-r--r-- 1 bmf staff 652 Jul 18 11:45 hoge.md
chmod 766 hoge.md
-rwxrw-rw- 1 bmf staff 1788 Jul 18 11:57 hoge.md
chmod 変更対象+変更方法+変更内容 対象ファイル
変更対象と変更方法と変更内容をアルファベットと記号で指定する。
u ユーザー
g グループ
o その他
a 全て
複数指定ができる。
例えばユーザーとグループを対象としたい場合は、ugと指定する。
= 指定した権限にする
r 読み取り
w 書き込み
x 実行
複数指定ができる。
例えば、読み取りと書き込みを指定したい場合は、rwと指定する。
ls -l hoge.md
-rw-r--r-- 1 bmf staff 652 Jul 18 11:45 hoge.md
chmod a+rw hoge.md
-rw-rw-rw- 1 k.takeuchi staff 2877 Jul 18 12:24 hoge.md
ls -l hoge.md
-rw-r--r-- 1 bmf staff 652 Jul 18 11:45 hoge.md
ls -lの結果で出力されるパーミッションの項目の次に表示される1という数字は、ハードリンク数を意味している。