2016.05.16
2017.05.29
ホームページ制作関連
正しく設定できている?パーミッションの概要
ファイルアップロード時についてまわるパーミッション
サーバー上のファイルやディレクトリを操作する際に設定することがあるパーミッション。「644」や「755」などが一般的な設定ですが、この数字にはちゃんと意味があります。適切な設定をすることでセキュリティを高められるほか、CGIなどサーバーサイドで実行が必要なファイルはこの設定次第で動かなくなることもあります。
意味を知ることでより良い設定を行うことができる、パーミッションについて今回は説明します。
パーミッションの概要
パーミッションとは、コンピュータに保存されているファイルやディレクトリに対するユーザーのアクセス権、のことを指す言葉です。一般的にサーバー上のファイルやディレクトリに設定することが多く、どのタイプのユーザーに、どこまでのアクセス権(読み込み・書き込み・実行)を与えるのかを設定することができます。
前述しましたが、CGIやサーバーサイドで実行するファイルを設置する際に、パーミッションの設定が必要になることがあります。設定方法には2種類あり、3桁の数字で設定する方法と、rwx-という4種類の文字で設定する方法があります。
パーミッションの種類
パーミッションは「所有者」「グループ」「他人」という3つのユーザーに対して、「読み込み」「書き込み」「実行」の3種類の権限設定ができます。
それぞれの意味は以下のようになります。
ユーザーの意味
所有者そのサイトの管理者自身
グループサーバー上の同じグループに属するユーザー
他人そのサイトにアクセスしてくるユーザー、一般の閲覧者
権限の意味
読み込みファイルの内容の読み込みの可否を設定します。不可の場合、ブラウザからファイルの内容は表示できず、ディレクトリには移動できません。
書き込みファイルへの書き込みの可否を設定します。ファイルに対する書き込みや削除、ディレクトリの場合は新規作成などを制限します。
実行ファイルのスクリプトを動作させるかどうかを設定します。許可する設定の場合は「読み込み」の権限も合わせて許可に設定する必要があります。ファイルを実行する為に一旦読み込む必要があるからです。
パーミッションの設定方法
今回は一般的な3桁の数字での設定方法について説明します。
3桁の数字は左から順にユーザーの種類「所有者」「グループ」「その他」に対応しています。
数字は権限を表しており4が「読み込み」、2が「書き込み」、1が「実行」を表しています。
複数の権限を兼ねている場合、数字は足し算したもので表します。
わかりやすく図解すると以下のようになります。
つまりよく見る設定「644」であれば「所有者は読み書きが可能、グループとその他は読み込みのみ可能」という設定になります。実行の必要がないhtmlファイルなどは一般的にこの設定です。
対してCGIなどでよく見る設定「755」は「所有者は読み書き実行が可能、グループとその他は読み込みと実行が可能」となり、所有者以外でもサーバーサイドスクリプトの動作の結果を見ることは可能、となります。
以上、今回はパーミッションの基本的な概要について説明しました。CGIなどが正しく動作しない場合はパーミッションを確認してみましょう。