CHAPTER 6 · 6 LESSONS · 78 問

権限

`Permission denied` の読み方と、直し方。

端末で最初に心が折れる場所がここだよ。Permission denied

ls -l の左に並んでいる -rw-r--r-- という文字列の読み方と、chmod での変え方を扱う。

見た目は謎の記号列だけれど、中身はとても単純だよ。読める(r)・書ける(w)・実行できる(x) の3つが、持ち主・グループ・その他 の3者ぶん、順番に並んでいるだけ。9文字を3文字ずつ区切って読む。

変え方は2通りある。

  • 記号で書くchmod u+x run.sh(持ち主に実行を足す)
  • 数字で書くchmod 640 himitsu.txt(r=4・w=2・x=1 を足した数を3つ並べる)

どちらでも同じことができるので、両方読めるようにしておこう。現場で見るのは数字のほうが多いよ。

仕組みが分かれば、当てずっぽうに 777 を付けて回らなくて済む。あれは「世界中の誰でも書き換えていい」という意味で、直したいことの99%に対して強すぎる薬なんだ。

ディレクトリの x は「実行」ではなく「通り抜けられる」という意味になる。ここだけ例外なので、章の最後で扱うよ。

この章のレッスン

読み書きと実行の印

  1. 28`ls -l` の9文字を読むrw-r--r-- という記号列の読み方。種類の1文字と、3人ぶんの rwx を読み分ける。 問題へ
  2. 29権限を記号で変える(`chmod u+x`)chmod に誰・どうする・何を の3つを渡す。u g o a と + - = の組み合わせ。 問題へ
  3. 30権限を数字で変える(`chmod 755`)r=4 w=2 x=1 を足して3桁に。644 や 755 の意味と、777 が強すぎる理由。 問題へ
  4. 31新しく作るものの既定(`umask`)touch すると 644 になる理由。土台の 666 から引かれている数を読む。 問題へ

持ち主と、入れ物の権限

  1. 32持ち主とグループ9文字が誰に効くのか。3つのうち1つだけが選ばれる仕組みと、持ち主を変えられない理由。 問題へ
  2. 33ディレクトリの権限入れ物の x は「通り抜ける」。消せるかどうかは、ファイルではなく入れ物で決まる。 問題へ

つぎは「ユーザーとグループ」。誰としてログインしているのか。管理者になるとは何をすることか。