パーミッションとは、ファイルに対するアクセス権限のことです。どのタイプのユーザーに、どの程度のアクセス権(読み込み・書き込み・実行)を与えるのかを設定することができます。
CGIを設置する際には、このパーミッションの設定が必要になるケースが多いです。(サーバーによっては必要ない場合もあります)
|
ファイルのタイプにより、パーミッションの設定内容は異なります。
ファイルのタイプ |
一般的な設定 |
好ましい設定 |
CGIスクリプト |
755 |
705 |
ログファイル |
666 |
606 |
HTMLファイル |
644 |
--- |
ディレクトリ |
755 |
--- |
|
デフォルトのパーミッションは、ファイルは 644、ディレクトリは 755 になります。
HTMLファイルや通常のディレクトリなどはパーミッションの設定は必要ありませんが、CGIファイルやログファイルなどは、それぞれ 755(705) と 666(606) に設定しなければなりません。
※「好ましい設定」の方がセキュリティは高まります。(うまく動かない場合は「一般的な設定」にしてください)
※ログファイルとは、データを記録するファイルのことです。
一般的には以上のような設定内容になります。
■ その他のケース
●別のCGIスクリプト内に読み込まれて処理されるようなファイル(jcode.pl など)は、644 のパーミッションのままで動きます。
●CGIの処理で自動的にファイルを生成・削除する場合は、生成される場所(ディレクトリ)のパーミッションを 777(または 707)に設定します。
※パーミッションの設定内容については、各CGIの説明に従ってください。
|
■ 2つの指定方法があります
(1) 3桁の数字で指定する方法 (例)755
(2) r w x - という4種類の文字で指定する方法
※3桁の数字で指定する方法が一般的です。
■ 対象となるユーザーは3タイプに分けられます
(1)の指定方法(3桁の数字)の場合では、左(所有者)、中(グループ)、右(他人)という内容で分けられています。
所有者 … そのサイトの管理者であるあなた自身
グループ … サーバー上の同じグループに属するユーザー
他人 … そのサイトにアクセスしてくる一般ユーザー
例えば 755 の場合、所有者が 7、グループが 5、他人が 5、という感じになります。
■ 設定内容の意味
(1)の3桁の数字と(2)の4種類の文字との関係は次のようになります。
読み込みを許可 |
書き込みを許可 |
実行を許可 |
全てを許可しない |
4 |
2 |
1 |
0 |
r |
w |
x |
- |
|
パーミッションを 755 に指定した場合を例にすると、
7 … 4+2+1=7 (所有者に対して、読み込み、書き込み、実行の全てを許可する)
5 … 4+1=5 (グループに対して、読み込みと実行を許可する)
5 … 4+1=5 (他人に対して、読み込みと実行を許可する)
755 はCGIスクリプトの一般的なパーミッション設定です。CGIスクリプトは一般のユーザーに実行してもらう必要があるので、このように読み込みと実行の権限を与えています。ただし、CGIスクリプト自体を書き換えられては困るので、所有者以外には書き込みの権限が与えられていません。
ログファイルの 666 という指定は、それぞれのユーザーに対して 4+2(読み込みと書き込みを許可する)の設定になっています。ログファイルは読み書きするだけのファイルなので、実行の権限を持たせる必要はありません。
■ 4種類の文字で指定する場合
r w x - という4種類の文字でパーミッションの設定を行う場合は、所有者、グループ、他人、それぞれ3文字ずつ、トータルで9文字を使って指定します。
この方法で 755 を指定する場合は、次のような記述になります。
rwxr-xr-x
赤い部分が所有者、青い部分がグループ、緑の部分が他人になります。
rwx … 読み込み+書き込み+実行
r-x … 読み込み+実行
r-x … 読み込み+実行
|
パーミッションの変更は、FTPソフトで行うことができます。
FTPソフトの定番「FFFTP」を例に説明すると、次のような流れになります。
(1) |
アップロードしたファイルの中から、パーミッションを変更したいファイル(またはディレクトリ)を右クリックする。 |
(2) |
右クリックして出てきたメニューの中から「属性変更」をクリックする。 |
(3) |
3桁の数字が入力されている部分があるので、そこに新しいパーミッションの数字を入力する。 |
(4) |
書き換えが終わったら、OKボタンを押して変更完了です。 |
|
|
|