はじめに
コジマです。
5月病からの復活..!
GW中平日よりも忙しくて全然記事を書く時間が取れず…。
時間の使い方ももっと上手くならないとですね。。
Linuxにはファイルやディレクトリの権限というやつがありますね。
パーミッションと言ったりします。
おさらい
権限っていうのは
drwxr-xr-x 5 hoge fuga 160 4 14 23:48 mydir
や
-rwxrw-r-- 5 hoge fuga 160 1 20 23:45 myfile.txt
の
drwxr-xr-x
や
-rw-r–r–
の部分です。
- 読み込み権限(r)
- 書き込み権限(w)
- 実行権限(x)
の3つがあります。
最初にdがついているのはディレクトリ、何もついていないのはファイルです。
そしてrwxの並びが3つ続いてますね。
頭から順に所有者、グループ、その他の権限を表しています。
hogeユーザ(所有者)はmyfile.txtの読み込み、書き込み、実行すべてできる。
fugaグループに所属するユーザはmyfile.txtの読み込み、書き込みができる。
その他のユーザはmyfile.txtの読み込みだけができる。
ということを意味しています。
ファイルを読み込む、ファイルを書き込む、ファイルを実行する。
って想像しやすいですよね。
ただ、ディレクトリを読み込む、ディレクトリを書き込む、ディレクトリを実行する。
ってなんかピンとこないですよね。
って話をしたいと思います。
ディレクトリの権限のお話
読み込み権限
ディレクトリの読み込み権限とは、ディレクトリ内のファイルを見る権限ことです。
ディレクトリの読み込み権限を持っていないとそのディレクトリにどんなファイルがあるか見ることができません。
ディレクトリが部屋、ファイルが人だとすると、部屋の中に誰がいるか知ることができる権限が
ディレクトリの読み込み権限ということになります。
ディレクトリを読み込む=>ディレクトリの中を見る
という風にイメージができると良いと思います。
書き込み権限
ディレクトリの書き込み権限とは、ディレクトリの中にファイルを作成する権限のことです。
ディレクトリの書き込み権限を持っていないとそのディレクトリにファイルを作成することができません。
先ほどの例えで言うならば、部屋の中に人を追加できる権限が
ディレクトリの書き込み権限ということになります。
ディレクトリの書き込み=>ディレクトリの中にファイルを書き込み=>ディレクトリの中にファイルを作成
という風にイメージができると良いと思います。
実行権限
ディレクトリの実行権限というのは、そのディレクトリをカレントディレクトリにできる権限、
すなわち、そのディレクトリに移動できる権限のことです。
ディレクトリの実行権限を持っていないと、そのディレクトリに移動することができません。
先ほどの例えで言うならば、部屋の中に入る権限が
ディレクトリの実行権限ということになります。
ディレクトリを実行する=>ディレクトリの中でなんかする=>ディレクトリに移動する
という風にイメージできると良いかと思います。
これは少々無理矢理感ありますが…。
さいごに
まとめるとこんな感じ
ファイル | ディレクトリ | |
読み込み | ファイルの中を見る | ディレクトリの中のファイルを見る |
書き込み | ファイルに書き込む | ディレクトリの中にファイルを作成する |
実行 | ファイルを実行する | ディレクトリに移動する |
ディレクトリの権限ってあんまりピンと来ないなと思ってこの記事を書いてみました。
何年後かに誰かの役に立つことを祈りながらこれからも記事を書いていくことにします。
この記事を面白いまたは役に立ったと思ってくれた方は是非私のTwitter(@kojimanotech)を
フォローしてくれたらうれしいです!
以上、コジマでした。