この記事では、Linuxの「ファイルアクセス権(パーミッション)」の概要を説明します。「パーミッション」とは、Linuxのファイルやディレクトリを誰がどう使えるのかを決めるルールのことです。
パーミッション前提知識
hirotano@ubuntu-1:~$ cat /etc/shadow
cat: /etc/shadow: Permission denied
所有者
パーミッションの確認
ファイルやディレクトリにどのようなパーミッションが付与されているか確認してみます。
まず、ユーザ「hirotano」で、新規にファイルを作成し、「ls -l」を実行します。–l(ロング)スイッチを付けてディレクトリの内容をロングフォーマットで表示します。
hirotano@ubuntu-1:~$ touch testfile01 hirotano@ubuntu-1:~$ ls -l total 0 -rw-rw-r-- 1 hirotano hirotano 0 Sep 16 08:17 testfile01
通常、ファイルが作成されると、そのファイルを作成したユーザーがファイルの所有者であり、グループはユーザーの現在のグループです。
主な領域①~⑤の意味は、下記のとおりで、「testfile01は、所有者およびグループはともにhirotanoで、所有者とグループのメンバーは読み書きの権限があり、その他のユーザーは読み取りのみの権限がある」ことを意味します。
①:ファイル種別(「ー」は、通常のファイルで、「d」はディレクトリを表します。)
②:所有者、グループ、その他のユーザーのアクセス権限
③:最初の hirotano はファイルの所有者(オーナー)の名前を示しています。
④:次の hirotano はファイルのグループ名を示しています。
⑤:ファイルの名前を示しています。
パーミッション(読み取り、書き込み、実行)の詳細
この出力の「-rw-rw-r–」が、ファイルの属性です。
これには、ファイルの種別、および、ファイルの所有者、ファイルのグループ所有者、および他の全ての人に対する読み取り(r)、書き込み(w)、実行(x)の許可を表すものです。
種別は、前の章で説明したとおり、「通常のファイル」や「ディレクトリ」などを表します。
読み取り(r)、書き込み(w)、実行(x)は、ファイル種別が通常ファイルとディレクトリで少し意味が異なります。
読み取り(r)
ファイル:ファイルを開いて読むことを許可します。
ディレクトリ:実行(x)も設定されている場合、ディレクトリの内容をリストアップすることを許可します。
書き込み(w)
ファイル:ファイルに書きこみを許可します。ただし、この属性ではファイルの名前を変更したり削除したりすることはできません。ファイルの削除や名前の変更の権限はディレクトリの属性によって決まります。
ディレクトリ:実行属性も設定されている場合、ディレクトリ内のファイルを作成、削除、名前を変更することを許可します。
実行(x)
ファイル:ファイルをプログラムとして扱い、実行することを許可します。
ディレクトリ:例えば、cd コマンドなど、ディレクトリに入ることを許可します。
パーミッションの設定例
ここでは、ファイルやディレクトリによく使用されるパーミッションの設定例を確認します。
-rwx——
ファイルの所有者によって読み取り、書き込み、実行が可能な通常のファイルです。他の誰もがアクセスできません。
-rw-r–r–
ファイルの所有者によって読み取りと書き込みが可能な通常のファイルです。グループのメンバー含め、誰にでもファイルを読むことができます。
-rwxr-xr-x
ファイルの所有者によって読み取り、書き込み、実行が可能です。他の全ての人もファイルを読み取りと実行することができます。
drwxr-x—
種別はディレクトリです。所有者はディレクトリに入り、ファイルを作成、名前を変更、削除できます。グループのメンバーはディレクトリに入ることができますが、ファイルの作成、削除、名前の変更はできません。
コメント