えへへ…
お兄ちゃんがいない間に
/home/shigeru
を覗いてみよう!
ls /home/shigeru
ls: cannot open directory '/home/shigeru': Permission denied
実は特別なことをしなくてもファイルやディレクトリが守られているんだ
わぁ!ごめんなさい!
今回は「所有権(ownership)」と 「パーミッション(permission)」の 二つを学ぼう!
…えっ?「所有権」と… 「パーミッション」?
まずは「所有権」から見ていこう これはファイルの所有者を表している概念なんだファイルすべてに設定されているよ
ファイルに所有者が設定されていたんだ?!
/home
以下のディレクトリを確認しようただし ls
の -l
オプションを指定してねls -l /home
名前だけじゃなく色々な情報を表示するオプションだったよね!
total 5
drwx------. 9 midori midori 4096 Dec 28 20:48 midori
drwx------. 9 shigeru shigeru 4096 Dec 25 12:15 shigeru
midori
ディレクトリの追加情報にmidori
って私の名前が2回出てるけどこれは何かな?これらが「所有権」を表しているよ 1つ目は所有ユーザ2つ目は所有グループなんだ
ちなみに「グループ(group)」は 複数のユーザをまとめる仕組みだよ今はそれほど気にしなくても大丈夫
次にこの部分を見てごらん
drwx------
えーっと…これは何?
これは「パーミッション」という ファイル操作の許可を表しているんだ
最初の
d
はディレクトリであることを示しているんだでも、それ以外の部分が重要だよ
重要なのは…後ろの9文字?
rwx------
この9文字は3文字ずつに区切って考えるんだ最初の3文字は所有ユーザ次の3文字は所有グループ最後の3文字はその他のユーザつまり他人に対する許可を表しているよ
3文字ずつか…なるほど…
rwx --- ---
それぞれの文字は以下を表しているよ
文字 | 意味 |
---|---|
r | 読み込み(read) |
w | 書き込み(write) |
x | 実行(execute) |
- | 許可がない |
ファイルの場合はそれをプログラムとして実行できるという意味だよ
ディレクトリの場合は意味が違っているんだディレクトリの中身を調べたりアクセスできることを意味しているよ
ディレクトリの「読み込み」と「実行」の 違いがよくわからないね…
両者は厳密には違うんだけど以下のように両方同時に指定すると覚えておこう!
ディレクトリへのアクセス | 指定 |
---|---|
許可したい | |
拒否したい |
うーん…ちょっと難しいけど整理すればわかるかも
じゃあ一緒に
rwx------
の部分を見てみようrwx------
rwx --- ---
最初の
rwx
は所有ユーザの権限を表しているんだrwx
つまり midori ユーザは「読み」「書き」「実行」を 自由にできるというわけだね
自分のディレクトリだから何でもできるという設定なんだ!
次の
---
は所有グループの権限だね---
これは「何も許可されていない」 ことを示しているんだ
midori
ユーザ本人じゃないとたとえ midori
グループに所属していても何の権限もないことになるんだね!そして最後の
---
は他人に対する権限だったね---
所有グループと同じく何も許可していないねつまり僕みたいなユーザに対して何も許可していないという設定になっているよ
そういうことなんだ!だから私が
/home/shigeru
を覗こうとしたとき実行や読み込み権限が無くてPermission Denied って出たんだね最初のうちは難しく感じるけど慣れればすぐ読めるようになるよ
いろんなファイルやディレクトリで
ls -l
を試して読み方を練習しておこう!