パーミッションとは日本語訳すると「許可」を意味する言葉です。WWWサーバーやFTPサーバーなどのコンピュータは誰もが利用するもので、不特定の第3者の悪戯によって勝手にファイルを削除されたり、書き換えられたりするようなことがあってはそのサーバーを利用している人にとって多大な迷惑を被ることにもなりかねません。例えば、掲示板の置いてあるディレクトリがもしも丸見えだったり、削除できるようになっていた場合は、悪意のある第3者よって勝手に削除されたり、書き換えられたりしてしまいます。よって、WWWサーバーやFTPサーバーなどは、サーバーを利用する人に対して、迷惑にならないように権利を設定することができるようになっています。つまり、誰がファイルを読み込んだり(Read)、書き込んだり(Write)、実行したり(Execute)してもよいのかという「許可」の設定を行える権利を持っているのです。このアクセス権利の設定のことをパーミッションと呼んでおり、通常は「644」や「755」などのように3桁の数字で表現されます。HTMLファイルとは違い、CGIプログラムはこのパーミッションを適切に設定しなければ正常に動作してくれません。なお、Windowsで自宅サーバーを使用してCGIプログラムを実行する場合は、パーミッションの設定を行う必要はありません。
■パーミッションを数字で表現する
しかし、このような3桁の数字で表現されてはいったいなんの事なのかさっぱりわかりませんので、この3桁の数字の意味ついて説明します。この3桁の数字は、左から順に
「オーナー(Owner)」、「グループ(Group)」、「その他(Other)」を表しています。
例えば「644」というパーミッションを設定した場合は、オーナーが「6」、グループが「4」、その他が「4」を表しているのです。では、この数字自体に何の意味があるのか?この数字は以下のように1から7までのパーミッションの組み合わせがあり、それぞれ「1」、「2」、「4」の和で決定されます。さらに、この「1」、「2」、「4」にはそれぞれ、「1」が実行許可(x=
1)、「2」が書き込み許可(w = 2)、「4」が読み込み許可(r = 4)に対応しています。
|
|
|
|
組み合わせ表
1 = 1
2 = 2
3 = 1 + 2
4 = 4
5 = 1 + 4
6 = 2 + 4
7 = 1 + 2 + 4 |
|
|
|
|
|
|
1 = Excute(実行を許可する)
2 = Write(書込みを許可する)
4 = Read(読込みを許可する) |
それでは、例えば「644」が表す意味を考えていきましょう。
■「644」の意味
■パーミッションを設定する
それでは、実際にパーミッションの設定方法を解説していきます。FFFTPを起動してください。赤枠で囲んだ「bbs.cgi」というファイルの属性を確認すると「rw-r--r--」というパーミッションの設定になっています。これは、左からオーナーは読み込みと書き込みを行うことができ(rw-)、グループとその他は読み込みのみを行うことができる状態(r--)になっています。即ち、パーミッションは「644」になります。
次に、「bbs.cgi」のパーミッションを「755」に変更したいとします。その場合は、「bbs.cgi」を右クリックして「属性変更」を選択します。
以下のような「属性の変更」ダイアログが現れたら、「755」になるようにチェックボックスを移動させ、「OK」をクリックします。
最後にきちんとパーミッションの値が変更されたかどうかを確認します。「bbs.cgi」の属性の部分を見てもらえばわかるとおり、先ほどの「rw-r--r--」の状態から「rwxr-xr-x」へと値が変更されています。これは、左からオーナーは読み込み、書き込み、実行全ての権利を有し(rwx)、グループとその他は読み込みと実行のみ(r-x)を行うことができる状態へと変更されたということです。
■パーミッションの使用例
最後にパーミッションの使用例について掲載しておきますので参考にしてください。
パーミッション |
解説 |
644(rw-r--r--) |
HTMLファイルなどに使用します。オーナーは読み込み、書き込みを行うことができ、グループとその他は読み込みしかできません。 |
666(rw-rw-rw-) |
CGIスクリプトが書き込むファイルなどに使用します。オーナーもグループもその他も読み込みと書き込みを行うことができます。 |
755(rwxr-xr-x) |
通常のディレクトリやコマンド、CGIスクリプトなどに使用します。誰でも読込みと実行はできるが、書き込みを行うことができるのはオーナーだけです。 |
777(rwxrwxrwx) |
CGIスクリプトがファイルを作成するためのディレクトリなどに使用され、「lock」ディレクトリなどに設定します。全ての人が読み込み、書き込み、実行権を有しており、セキュリティ上はかなり危険です。「777」は悪意のある第3者が新しいファイルを作成したり、ファイルを改竄したりと様々な事が出来てしまうため、できるだけ、パーミッションが「777」に設定されているCGIは使わない方が良いでしょう。 |
|