[Back]

パーミッション設定の変更

パーミッションとは?
 
SSI/CGIスクリプトは、UNIXサーバー上で実行することになります。 アクセスカウンタの情報を記録しておくログファイルは、スクリプトによって読み出し/書き込みが行なわれます。 UNIXでは、セキュリティとして、ファイルの実行と、読み込み/書き込みについて、オーナー、グループ、 その他の人がそれぞれ行なえるかどうか制限することができます。これが、パーミッションの設定です。
 
パーミッションは drwxr-xr-x などの10文字の文字列や、755 などの数値で表します。
10文字の文字列は d(directly), 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
rwxrwxrwx
CGIスクリプトがファイルを作成するためのディレクトリなど。誰でもなんでもOK。セキュリティ上は少々危険。
 
CGIスクリプトはCGIを設置した人の権限ではなく、nobodyなど第三者の権限で動くため、666 や 777 など他のユーザーの書き込み権を含めたパーミッションを設定してやる必要があります。CGIスクリプトがCGIを設置した人の権限で動作するように設定されているプロバイダも増えてきました。 この場合は、666の代わりに644(もしくは600)、777の代わりに755(もしくは700)とした方が、よりセキュリティ面で安心ができます。
 
パーミッションを変更するには
 
(1)TELNETの場合:サーバーにTELNETでログインしている場合は、コマンドラインから次のようなコマンドを入力してください。パーミッションは数値形式で指定します。

chmod 755 ファイル名

(2)FTP.EXE(Win)の場合:テキストベースのFTP(FTP.EXEなど)を使用している場合は、FTPのコマンドラインから次のように実行してください。

quote site chmod 755 ファイル名

(3)FFFTP(Win)の場合:転送先ファイルのポップアップメニューから[属性変更]で変更します。簡単なのでオススメ。

(4)FTP Explorer(Win)の場合:ファイルの存在するディレクトリに移動して、[ツール]-[サーバーへコマンド]または[Tools]-[Quote]で、 「site chmod 755 ファイル名」を入力して[OK]します。

(5)WS_FTP95 LE(Win)の場合:ファイルを選択(複数可)し、右クリックのポップアップメニューから[chmod(UNIX)]のチェックボックスで指定して[OK]します。

(6)Fetch(Mac)の場合:[Remote]-[Set Permissions]で変更します。