CGIを設置する上で、避けては通れないのが、この「パーミッションの設定」です。
実際の設定方法につきましては、 Chap4. CGI設置編 にて解説致しますので、
こちらでは、基礎的なことを学びましょう。
1.パーミッションってなに?
そもそも「パーミッション」とはなんでしょうか?。
WWWサーバーでは、あなたのPCとは違い、何人もの人達とデータを共有しています。
これにはもちろん、あなたのホームページデータも含まれています。
みんなで共有しているからこそ、どんな人でも、あなたのホームページを、世界のどこからでも見れるようになっているわけです。
しかし、ファイルを共有するということは、それだけリスクもあります。
自宅や会社などで、LANを組んでいる人ならわかると思いますが、
共有化されたファイルは誰でも「読む」「書く」「実行する」ことが可能です。
もしあなたのホームページデータが、悪意を持った人に勝手に書き換えられたら困りますよね。
そこで、「このファイルは自分が読むだけ」、「このファイルはみんなで読めて、なおかつ書き換えも可能」など、
保存されているデータに対する 「アクセス権」 を決めるのが、この 「パーミッション」 なのです。
2.アクセス権の分類
アクセス権の設定は、下記のように分類されます。
◎[ 誰に対して ]
◆所有者であるユーザー(あなたのことです)
◆同じグループのユーザー(通常は同じプロバイダーの利用者)
◆第三者の不特定多数のユーザー
◎[ どのような権限を与えるか ]
◆読む(データ内容の閲覧)
◆書く(データ内容の書き換え)
◆実行
3.パーミッションの表記方法
実際にパーミッション値を指示する時には、どのような方法で表記すればいいのでしょうか?。
まずは下記の表を参照して下さい。
所有者 | グループ | 第三者 | ||||||
読む ( Readable ) | 書く ( Writable ) | 実行 ( eXecutable ) |
読む ( Readable ) | 書く ( Writable ) | 実行 ( eXecutable ) |
読む ( Readable ) | 書く ( Writable ) | 実行 ( eXecutable ) |
r | w | x | r | w | x | r | w | x |
4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
@ rwx表記方法
この方法では、許可する部分はそのまま表示し、不許可の部分は [ - ] で表記します。
WS_FTPの [ Dirinfo ] ボタンで、パーミッションを表示させると、
[ drwxr-xr-x ] や [ -rwxr-xr-x ] という ”10桁表示” になりますが、
先頭の [ d ] は [ ディレクトリ ] 、
[ - ] は [ ファイル ] という種別を表しています。
A 数値表記方法
CGIプログラムの設置マニュアルなどで、「パーミッションは755に設定して下さい」という指示があるように、
一般的にはこちらの方が、よく用いられます。
これは上記アクセス権の設定で、許可される部分を足し上げていったものです。
◆【読む】 【書く】 【実行】 を許可する場合 ⇒ | 4(読む) + 2(書く) + 1(実行) | = 7 |
◆【読む】 【書く】 のみ許可する場合 ⇒ | 4(読む) + 2(書く) | = 6 |
◆【読む】 【実行】 のみ許可する場合 ⇒ | 4(読む) + 1(実行) | = 5 |
◆【読む】 のみ許可する場合 ⇒ | 4(読む) | = 4 |
◆【読む】 【書く】 【実行】 の全てが不許可の場合 ⇒ | 何も足さない | = 0 |
上記数値を、所有者、グループ、第三者の順番に設定します。
(例1) CGIプログラムでよく使われるパーミッション
所有者 | グループ | 第三者 | ||||||
読む 許可 | 書く 許可 | 実行 許可 |
読む 許可 | 書く 不許可 | 実行 許可 |
読む 許可 | 書く 不許可 | 実行 許可 |
r w x | r - x | r - x | ||||||
<< 表示されるパーミッション値 >> rwxr-xr-x | ||||||||
4 + 2 + 1 = 7 | 4 + 0 + 1 = 5 | 4 + 0 + 1 = 5 | ||||||
<< 表示されるパーミッション値 >> 755 |
(例2) 掲示板・チャットなどのデータファイルでよく使われるパーミッション
所有者 | グループ | 第三者 | ||||||
読む 許可 | 書く 許可 | 実行 不許可 |
読む 許可 | 書く 不許可 | 実行 不許可 |
読む 許可 | 書く 不許可 | 実行 不許可 |
r w - | r - - | r - - | ||||||
<< 表示されるパーミッション値 >> rw-r--r-- | ||||||||
4 + 2 + 0 = 6 | 4 + 0 + 0 = 4 | 4 + 0 + 0 = 4 | ||||||
<< 表示されるパーミッション値 >> 644 |
★プロバイダーによっては、指定された数値以外(例えば”755”だけなど)の設定を禁止している場合があります。