ユーザー認証


NCSAやApache,CernのWWWサーバーで個々のデレクトリに対してユーザー認証を行うには 次のようなふたつのファイルを作ることによって行います。

パスワードファイルの作成

ユーザー認証のためのユーザー名と暗号化されたパスワードが記述されたファイルを作ります。 これはエディタなどで直接記述することもできますが、通常 htpasswd を使います。 htpasswdではユーザーの作成、パスワードの変更が可能でユーザーを削除するにはエディタなどで 削除します。

使い方は

htpasswd [-c] .htpasswd username

usernameに追加したいユーザー名を書きます。-c オプションは.htpasswdファイルがない一番最初だけ 指定します。

できた .htpasswd ファイルは適当なデレクトリに置きます。 シェルからは ls -a でないと見えないのでファイルがないと勘違いしないように。 まちがっても、ユーザーから簡単にアプローチできる場所に置かないようにしましょう。 誰かに .htpasswd を見られても暗号化されたパスワードは解くことは出来ませんが ユーザー名さえ手に入れれば、パスワードを辞書から引いて認証を突破するプログラムも ありますので、気をつけるに越したことはありません。


.htaccess の作成

ユーザー認証を設定したいデレクトリに .htaccess ファイルを作成します。 内容は以下の通りです。


AuthUserFile	/digiweb/usr/your_name/.htpasswd
AuthGroupFile	/dev/null
AuthName	ByPassword
AuthType	Basic
<Limit GET>
		require user username
</Limit>

AuthUserFile には先ほど作った .htpasswd へのフルパス名を指定します。 ホームデレクトリからではなく、サーバーのルートからのフルパス名です。 require user の usenameにはユーザー認証を行うユーザー名を書きます。 .htpasswd にあるユーザーでも require user で指定しないと認証に失敗します。

作成はシェルで pico エディタを使って作っても良いですし、ascii モードで ftp で転送しても良いです。 このふたつのファイルがあれば、ユーザー認証のできあがりです。


copyright 1996,1997 (c) by Kouji Kawabata