Windowsでは拡張子(.exeなど)によって、実行可能・不可能が決まりますが、UNIXではパーミッション(あるいはファイルのモード)と呼ばれる特別な属性によって実行可能・不可能が決まります。CGIスクリプトを実行可能にする場合はパーミッションを変更する必要があります。パーミッションは rwxr-xr-x などの9文字の文字列や、755 などの数値で表します。
9文字の文字列は r(readable), w(writable), x(executable), ハイフン(-)からなり、それぞれ次の意味をもちます。
r オーナーが読込可能なら r、さもなくば -。 w オーナーが書込可能なら w、さもなくば -。 x オーナーが実行可能なら x、さもなくば -。 r グループメンバが読込可能なら r、さもなくば -。 w グループメンバが書込可能なら w、さもなくば -。 x グループメンバが実行可能なら x、さもなくば -。 r その他の人が読込可能なら r、さもなくば -。 w その他の人が書込可能なら w、さもなくば -。 x その他の人が実行可能なら x、さもなくば -。パーミッションを数値で表す場合は r=4、w=2、x=1 を割り当て、3文字ずつの合計を用います。例えば、rwxr-xr-x は、4+2+1 4+1 4+1 で、755 となります。パーミッションはディレクトリ(フォルダ)に対しても指定可能で、その場合、x は実行可能ではなく、そのディレクトリの下に移動できるかどうかを表す文字となります。
よく使用されるパーミッションのパターンは次の通りです。
パーミッション 意味 644
rw-r--r--通常のHTMLファイルなど。 自分は読み込み、書き込みができるが、グループメンバや他人は読み込みしかできない。 666
rw-rw-rw-CGIスクリプトが書き込むファイルなど。 自分もグループメンバも他人も、読み込みと書き込みができる。 755
rwxr-xr-x通常のディレクトリ、コマンド、CGIスクリプトなど。 誰でも読込みと実行はできるが、書き込みは自分だけ。 777
rwxrwxrwxCGIスクリプトがファイルを作成するためのディレクトリなど。 誰でもなんでもOK。 セキュリティ的には少々危険。
サーバーにTELNETでログインしている場合は、コマンドラインから次のようなコマンドを入力してください。パーミッションは数値形式で指定します。chmod 755 ファイル名BIGLOBE など、TELNETを許していないプロバイダでは、FTPからでもchmodを使用できるようにFTPを拡張しているところが多いようです。
テキストベースのFTP(FTP.EXEなど)を使用している場合は、FTPのコマンドラインから次のように実行してください。
quote site chmod 755 ファイル名Windowsで FFFTP を使用している場合は、転送先ファイルのポップアップメニューから [属性変更] で変更します。
Windowsで WS_FTP LE を使用している場合は、目的ファイル名の上でマウスの右ボタンをクリックし、ポップアップメニューから[FTP Commands]→[SITE]を実行し、[Input]ダイアログに chmod 755 ファイル名 を入力し、[OK]を押してください。
MacintoshでFetchを使用している場合は、[Remote]→[Set Permissions]で変更します。
その他パーミッションの変更については、プロバイダにメールでお願いしなくてはならないなど、様々ですので、分からない場合はプロバイダやサーバーの管理者にお問い合わせください。