no-image

Linuxにおけるディレクトリのパーミッションの意味合い

Linuxサーバーを管理なさっている方でしたら、chmodコマンドでファイルやフォルダのパーミッションを変更することが多々あるかと思います。

ただchmodコマンドをファイルに対して実行するのと、ディレクトリに対して実行するのとでは意味合いが異なってきます。管理人もその辺のきちんとした理解なしに惰性でサーバーの管理をしていたので、今回まとめてみました。

パーミッションの意味合い

パーミッション ファイルに対する意味 ディレクトリに対する意味
読み出し可(r) ファイルの内容が表示できる ディレクトリの一覧を表示できる
書き換え可(w) ファイルにデータを書き込める ディレクトリの下にファイルを作成・削除・名称変更ができる
実行可(x) ファイルをコマンドとして実行できる ディレクトリの下に進むことができる

ディレクトリに対するパーミッションの補足

ファイルに対するパーミッションの設定はなんとなくイメージ出来るかと思います。Windowsでもファイルを「読み取り専用」にすることにより、ファイルの書き換え可・不可の設定を変更することが出来るので馴染み深いですよね。

ただしディレクトリに対するパーミッションはファイルとは若干意味合いが異なってきます。ディレクトリを読み出し可(w)とすると、ファイルの一覧が表示出来ます。これはディレクトリをテキストファイルとみなし、そのファイルにディレクトリの内容一覧が記載されているので、その一覧を取得していると例えればわかりやすいと思います。この権限がなければlsコマンドでファイルの一覧を表示する事はできません。

ディレクトリを書き換え可(w)とすることは、読み出しの時と同じようにディレクトリをテキストファイルとみなし、その内容(ディレクトリの中のファイル郡)をエディタで書き換えるイメージに近いでしょうか。したがって、書き換えの権限が無いと新規にファイルを作成したり、ファイル名の変更と削除が出来ないことになります(ファイルそのものの書き換え権限についてはファイルのパーミッションに依る)。

ディレクトリを実行可能(x)というのは、ファイルを実行するときにマウスでダブルクリックするのに似ています。そのディレクトリをエキスプローラーで開くのにダブルクリックできないと、そのディレクトリの先に進むことが出来ません。コマンドで言うと、cdコマンドでそのディレクトリに進むことが出来なくなります。

以上がファイルとディレクトリの権限についてのお話でした。今までなんとなく「ファイルは644、ディレクトリは755とすべし」なんて教科書的に丸暗記して設定していた方も多いかと思いますが、意味合いがわかってくると理解も進みますし、誤った知識を覚えるという事態を避けることが出来ます。ぜひこの機会に覚えてみて下さい。