つるのおんがえし「決して、この部屋をのぞかないで」〜LinuxのPermission deniedについて真剣に考える〜

download-2.jpg

この記事のゴール

この記事を読めば、

$ ls hoge
d rwx-----x. 1 owner  group 4096 Dec 22 15:48 hoge

この

rwx-----x

が読めるようになる(ハズ)です。

あらすじ

おじいさんが罠にかかっているつるを見つけました。

苦しんでいるつるがかわいそうだったので、おじいさんは助けてやりました。

その日の夜は大雪になり、とても寒い夜でした。

コン、コン。家の扉が叩かれる音がします。

夜、一人のおんながおじいさんの家にやってきました。

そのおんなは一晩泊めてほしいといいます。

やさしいおじいさんはおんなを家に招き入れることにしました。

家に招き入れた

おじいさんは手元の端末でおんなをlinux userに追加しました。

[root@ie ~]# useradd tsuru

おんながはたを織り始めた

おんなはいろいろ良くしてもらったお礼に、

はた(美しい布)をおりたいといいました。

おんな「はたをおりあげるまで、決してのぞかないでください」

[tsuru@ie ~]$ cd tsuru

といって、おんなはへやにはいっていきました。

おじいさんは好奇心に耐えられなかった

おじいさんは震える手で端末にこう打ち込みました。

[jiisan@ie ~]$ cd tsuru

しかし、

-zsh: cd: tsuru/: Permission denied 

部屋には入れませんでした。

[jiisan@ie ~]$ ls tsuru
drwx------. 2 tsuru   tsuru  4096  3月 27 07:26 2018 tsuru

おじいさん「なるほど。。。こりゃ入れんわい」

おじいさんは納得しました。

なぜ、入れなかったのか

まず、おじいさんがuseraddしたことにより、

tsuruディレクトリが作成されました。

Untitled(3) (3).png

useraddしたときにできるこの部屋の所有者は「tsuru」になります。

ですので、こうなります。

Untitled(3) (4).png

この部屋は、作成された時から以下の要件をみたしています。

・つる[owner]は部屋を自由にする(見れる、いじれる、入れる)ことができる

・おじいさんとおばあさん[other]は入れない

つまり、こういうことですね。

Untitled(3) (5).png

もうすこしlinux風に書くとこんな感じです。

Untitled(3) (7).png

※ ディクレクトリに対してexecuteは「入れる」ことを表す
※※ ファイルの場合は「実行できる」ことを表す

さらに、linuxのファイルは「所有者」だけでなく「所有グループ」をという情報を持っています。

Untitled(3) (11).png

これにより、

「つるの親族」というグループのユーザだけ部屋に入ることを許可できたりします。

useraddしたときにできる部屋の所有グループは、「tsuru」です。

Untitled(3) (12).png

これで完成です。

ちょっと見方を変えて、、、

Untitled(2) (5).png

ここでlsです!

Untitled(2) (6).png

「owner」ができること

「group」ができること

「other」ができること

をまとめたものを、パーミッションと言います。

おじいさんは強硬手段に出た

中でなにをやっているのか、気になって仕方がありません。

じいさんの秘蔵のこれくしょんが、

つるによって紐解かれていしまっているかも知れません。

3日悩んでおじいさんは決心しました。

「パーミッションを変えよう」

(つづく)

続きを書きました

【つづき】つるのおんがえしで学ぶLinuxコマンド「決して、この部屋をのぞかないで」〜chmodとchown〜

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.