Linux上のパーミッションのことでつまづいてしまった、ちょっと怖い話です。
何気なしにLinux上で作業していたとき、
drwxrwsr– ※774
ってなっているディレクトリがあって、匿名ユーザーにもrついてるから読めるだろ、って思ってたんですが、そのディレクトリ以下のファイルで403が返って来てしまいました・・・。
周りの人に聞いてみたところ、ディレクトリの場合、実行権限が無いとそのディレクトリに格納されているファイルを取ってくることができないとのこと。
ディレクトリ以下のファイルを取ってくる→読み込みではなく実行ということなんですね。
すごい勘違いをしていました。
sudo chmod 775 ./target_dir
ls -l
drwxrwsr-x 2 root hoge 4096 Oct 30 17:20 target_dir
こう。
パーミッションに対応する数字、いっつも忘れる気がするのでついでに調べました。
▶︎パーミッション早見表(外部リンク)
https://qiita.com/YusukeHigaki/items/7a4ef34916a9140ec1cc
r 4 読出可能(read)
w 2 書込可能(write)
x 1 実行可能(execute)
0 → 読み出しも書き込みも実行もできない
4(0 + 4) → 読み出しができる
5(0 + 4 + 1) → 読み出し/実行ができる
6(0 + 4 + 2) → 読み出し/書き込みができる
7(0 + 4 + 2 + 1) → 読み出し/書き込み実行ができる
馬鹿の一つ覚えみたいにディレクトリは775、ファイルは644とかしてたんですが、こういうことなんすね。
あとファイルに実行権限つけるときって
chmod +x
とかしてた気がするんですが、これって
chmod 775(?)
とかと一緒なのかな・・・。
謎は深まるばかりなので、引き続き勉強していきます。