【Linux】ls-lとchmod(アクセス権限の確認・変更方法)
こんにちは!エンジニアのひなこです!
Linuxのアクセス権限の確認・変更方法について調べてみたので、
備忘録として残そうと思います!
いつ使うか
ls-l
とchmod
はLinuxでファイルのアクセス権限を確認・変更する時に使用するコマンドです!
ls -lについて
まず、ls
はlist segmentsの略で、カレントディレクトリの中のファイルやディレクトリの情報を表示するコマンドです。
-l
のオプションを付けると、ファイルの種類やアクセス権限、作成日時などの詳細情報も表示されるようになります。
chmodについて
chmod
はchange modeの略で、ファイルのアクセス権限を変更するコマンドです。
chmod 600 ファイル名
のように、600の数字の部分で、権限を指定することができます。
ファイルのアクセス権限の変更方法
①ファイルの現在のアクセス権限を確認する
ls -l
コマンドを使い、権限を変更したいファイルの権限を調べます。
1 2 |
{{urvanov-syntax-highlighter-internal:0}} -rw-r--r-- 1 hogehoge staff 0 11 17 11:20 sample.txt |
現在の権限は-rw-r--r--
と書かれています。
解読方法は下記のようになります。
-rw-r--r--
は「-/rw-/r--/r--」で、/で区切った4つに分けることができます。
それぞれは、
-
:ファイルの種類
rw-
:所有者(オーナー)の権限
r—
:グループの権限
r—
:その他(他の全ユーザー)の権限
を示しています。
1つ目のファイルの種類は、下記を表します。
・-
: 通常のファイル
・d
: ディレクトリ
・l
: シンボリックリンク
・c
: キャラクターデバイス
・b
: ブロックデバイス
・s
: ソケット
・p
: 名前付きパイプ (FIFO)
今回の場合は-
なので、通常のファイルです。
2~4つ目の権限は、3文字ずつで書かれていますが、それぞれに意味があります。
・1文字目「読み取り」:可能(r
)、不可(-
)
・2文字目「書き込み」:可能(w
)、不可(-
)
・3文字目「実行」 :可能(x
)、不可(-
)
今回の場合は、下記のようになります。
rw-
:所有者(オーナー)の権限
読み取り:可能(r
)
書き込み:可能(w
)
実行 :不可(-
)
r—
:グループの権限
読み取り:可能(r
)
書き込み:不可(-
)
実行 :不可(-
)
r—
:その他(他の全ユーザー)の権限
読み取り:可能(r
)
書き込み:不可(-
)
実行 :不可(-
)
また、このファイル権限の文字は、数値で表すこともできます。
chmod 600 ファイル名の「600」の数字が、ファイル権限を数字にしたものです。
それぞれの権限に対応する数値は下記の通りです。
読み取り (r):4
書き込み (w):2
実行 (x) :1
これらの値を足し合わせたものが、アクセス権限の数値になります。
rw-
:所有者(オーナー)の権限
読み取り:r
→4
書き込み:w
→2
実行 :-
→0
→ 所有者の権限は、4+2+0=6
です。
r—
:グループの権限
読み取り:r
→4
書き込み:-
→0
実行 :-
→0
→ グループの権限は、4+0+0=4
です。
r—
:その他(他の全ユーザー)の権限
読み取り:r
→4
書き込み:-
→0
実行 :-
→0
→ その他の権限は、4+0+0=4
です。
つまり-rw-r--r--
を数値化したものは644
となります。
②ファイルのアクセス権限を変更する
現在のアクセス権限644
を600
に変更してみます。
1 2 3 |
chmod [アクセス権限の数値] [ファイル名] chmod 600 sample.txt |
ちなみに600は、所有者のみが読み取りと書き込みが可能の権限です。
6
:所有者(オーナー)の権限
読み取り→ 4
書き込み→ 2
実行なし→ 0
→ 4 + 2 + 0 = 6
→ 読み取り、書き込み可能
0
:グループの権限
読み取り→ 0
書き込み→ 0
実行なし→ 0
→ 0 + 0 + 0 = 0
→ 全て不可能
0
:その他(他の全ユーザー)の権限
読み取り→ 0
書き込み→ 0
実行なし→ 0
→ 0 + 0 + 0 = 0
→ 全て不可能
③アクセス権限が変更されたか確認する
最後にls -lで念の為確認します。
1 2 3 |
{{urvanov-syntax-highlighter-internal:0}} -rw------- 1 hogehoge staff 0 11 17 11:20 sample.txt |
-rw-------
を数値化すると600
になるので、
権限がちゃんと変更されたことが確認できました!
tips
アクセス権限(ex. -rw-r--r--
)を数値化する際に
「毎回rは読み取り可能で4で、wは書き込み可能で2で足して….」とするのは大変なので
chatGPTに「-rw-r--r--
を数値化してください」と聞いてみると
数値化したものをすぐに教えてくれるので、おすすめです!!
では!
暗号のように見えるアクセス権限で、一見難しそうに見えますが、解読方法を知ってからは
暗号を読み解けるようになって面白いな〜!と感じるようになりました!
chatGPTを活用して、時短するのも大事ですね!
今回はLinuxのアクセス権限の確認・変更方法をまとめてみました!
これからも備忘録として、学びを記録していきたいと思います!
最後まで読んでくださり、ありがとうございました!
参考サイト
「ls -l」コマンドの表示からファイルの属性を理解しよう
https://atmarkit.itmedia.co.jp/ait/articles/1605/18/news015.html
【Linux】lsコマンド
https://qiita.com/chihiro/items/6e1404c41e1236a9efe1
Linuxの権限確認と変更(chmod)(超初心者向け)
https://qiita.com/shisama/items/5f4c4fa768642aad9e06