パスワードファイルの作成
ユーザー認証の際に参照されるファイルがパスワードファイルです。ユーザー名とパスワードがペアで登録されています。パスワードファイルは実際はテキストファイルなのですが、作成するにはApacheで用意されている「htpasswd.exe」を使って作成します。
「htpasswd.exe」は「(Apacheがインストールされているディレクトリ)¥Apache2.2¥bin¥」の中に含まれています。
Windowsで利用するにはコマンドプロンプトから実行する必要があります。実行する時の書式は次のようになります。
htpasswd オプション パスワードファイル名 ユーザー名
作成するパスワードファイルを指定した上で、追加するユーザー名を指定します。パスワードファイルを新規に作成する場合はオプションに「-c」を指定します。既存のパスワードファイルにユーザーを追加する場合にはオプションには何も指定しません。
パスワード新規作成時:
htpasswd -c "D:/Apache Group/passfile/passwd" yamada
ユーザー追加時:
htpasswd "D:/Apache Group/passfile/passwd" tanaka
新規パスワードファイルの作成
では実際に試してみます。コマンドプロンプトを開いて「(Apacheがインストールされているディレクトリ)¥Apache2.2¥bin¥」に移動してから「htpasswd -c "D:/Apache Group/passfile/passwd" yamada」を実行します。
追加するユーザーのパスワード入力が求められます。
確認のため、再度パスワード入力が求められます。同じパスワードを入力して下さい。
これで新規にパスワードファイルの作成と、1つのアカウントの追加が行えました。
ユーザーの追加
既に作成されているパスワードファイルにユーザーを追加する場合には「-c」を付けずに実行します。「-c」を付けてしまうと新しいパスワードファイルを新規に作成してしまい、それまでに登録されていたユーザー情報が消えてしまいますので注意して下さい。
使い方は新規に作成する場合と同じです。
パスワードファイルの確認
それでは作成されたパスワードファイルの中身を見てみましょう。テキストファイルですのでテキストエディタで見ることができます。
yamada:$apr1$GE5.....$44v/XaiGfBV/gKhxvMwUb. tanaka:$apr1$hl5.....$RwBa3lCV9RRhZgBjhDct0/
現在「yamada」と「tanaka」という2つのアカウントが作成されています。パスワードは暗号化されて保存されていますのでファイルを見ただけでは分かりません。Windowsの場合はデフォルトでMD5で暗号化が行われます。
ユーザーの削除
ユーザーの削除は単にパスワードファイルから該当の行を削除してもいいですが、「-D」オプションを付けて実行することでユーザーの削除が行えます。
htpasswd -D パスワードファイル名 ユーザー名
では試してみます。
「tanaka」が削除されました。念のためパスワードファイルを開いて見ます。
yamada:$apr1$GE5.....$44v/XaiGfBV/gKhxvMwUb.
「tanaka」の行が削除されていることが確認できます。
これでパスワードファイルの準備が出来ました。次のページで実際に試してみます。
( Written by Tatsuo Ikura )