CGIやPHPで使うパーミッションとは

HP運営の幅を広げるために動的サイト「CGI / PHP」といったプログラムを使う事が出てくるでしょう。これらのプログラムは、単にFTPでアップロードするだけでは動きません。必ず「パーミッション」を設定しなければいけません。

「パーミッションとは何か」
 1、管理者(Owner)
 2、同一グループ内のユーザー(Group)
 3、不特定の訪問者(Other)

上記のような3つの分類に対して、権限を持たせる事をパーミッション設定といいます。
「管理者」とは自分(自社)です。不特定の訪問者とは一般のユーザーです。一番疑問に思うのは、2番の同一グループのユーザーですが、共用サーバーの場合には同じサーバー内に複数のサイトを運営している構図になっています。
この同一サーバー内で運営されているユーザーが同一グループのユーザーとなります。

権限は「読み込み(4)、書き込み(2)、実行(1)」と三種の権限をそれぞれに当てはめていきます。
全ての権限を与える場合は「7(4+2+1)」、読み込みと実行だけなら「5(4+1)」、読み込みと書き込みなら「6(4+2)」といった感じに、上記の数字の和を当てはめます。

その数字(0~7)を3グループに割り当てていきます。
例えば、実行プログラムの場合に多く割り当てられる物は「755または705」です。共用サーバーでは「705」が推奨されています。
この「705」のパーミッションを分解していくと、
「オーナーは全ての権限を持ち、同一グループ内のユーザーは全ての権限がなく、一般ユーザーは読み込みと実行が可能である」
という事が割り当てられています。全てのプログラムに適切なパーミッション設定をする事によって、CGIはサーバー内で正常に動くようになります。また、サーバーによって正常作動するパーミッションの値は異なります。

CMSを設置する際にも、大半はデータベース(MySQL)とPHPで動かしていきますので、パーミッションは必要になってきます。違った制御方法だと動かないだけでなく、同サーバーの利用者に負荷をかけてしまう恐れがあります。
また設定ファイルのパーミッションをフリーにしていると、第三者に悪用される恐れがあります。しっかりと知識を身に付けて運用していきたい技術の一つです。

Sponsered Link