[Unix] ファイル権限のお勉強 その1

ファイルの権限とは

一言で言うと、ファイルを誰が見れて誰が見れないかの設定のこと。
Unix系のOSだと「自分」と「グループ」と「その他」ごとに、読み、書き、実行の属性がそれぞれ付随されることによって、アクセスのコントロールを行います。

権限の確認

ファイルを確認するlsコマンドですが、-lオプションをつけることによってファイル権限と容量、更新時間を確認することができます。ファイルを作って実際に確かめてみます。

macではターミナル、Linuxでは端末を開きます。例のあの黒い画面での操作です。

ファイルとディレクトリを作成


$ echo "aaaa" > aaa.txt
$ echo "bbbbbbbbbb" > bbb.txt
$ echo "cccccccccccccc" > ccc.txt
$ mkdir hoge

ls -lにて確認する


$ ls -l
-rw-rw-r-- 1 hoge group  5  4月  6 16:14 aaa.txt
-rw-rw-r-- 1 hoge group 11  4月  6 16:14 bbb.txt
-rw-rw-r-- 1 hoge group 15  4月  6 16:14 ccc.txt
drwxrwxr-x  2 hoge group 4096  4月  6 16:36 hoge

ファイルのリストの左側に rやwなどの文字列が見えると思います。
先頭の1文字目がdであればディレクトリを表しています。
それ以下の文字はそれぞれ3文字づつユーザ、グループ、その他に対して読み、書き、実行の権限が割り振られています。

ls -lを行うとaaa.txtはこんな表示で並んでいます。

-rw-rw-r-- 1 hoge group  5  4月  6 16:14 aaa.txt

この場合には、先頭が - なのでファイル。持ち主のユーザ(hoge)とグループ(group)に対してのアクセス権は先頭3文字が rw- なので、このユーザとグループに該当する人は読み込みと書き込みができます。その他の人に対しては r-- となっているので、読み込みはできるけど書き込みができないファイル権限になっています。

余談ですが whoami コマンドで自分のユーザ名を確認することができます。

リストの各項目解説

ディレクトリ ユーザ グループ その他 ディレクトリ数 所有者 所属グループ 容量 更新日付 ファイル名
- rw- rw- r-- 1 hoge group 5 4月 6 16:14 aaa.txt

まとめ

今回はファイルを作って ls -l の読み方をまとめておきました。
各ファイルは作製された時点で何かしらの権限が付随されています。
飽きなければ次回はファイルの権限操作なんかをまとめていきたいと思います。