4.5.1 ユーザ名およびパスワードによるアクセス制御
ユーザ名とそのパスワードはhtpasswdコマンドを使用して,パスワードファイルに登録します。登録されているユーザ名に対して,ホスト内のディレクトリやファイルなどのアクセス権を定義できます。htpasswdコマンドの使用方法については,「4.5.1(1) ユーザ名とパスワードのパスワードファイルへの登録およびパスワードの変更」を参照してください。
- (例)<Application Serverのインストールディレクトリ>\httpsd\htdocs\ディレクトリ下を特定のユーザだけに公開する
-
htpasswdコマンドを使用してあらかじめユーザ名とパスワードをパスワードファイル(<Application Serverのインストールディレクトリ>\httpsd\htdocs\.htpasswd)に登録しておいてください。httpsd.confファイルに次に示すディレクティブを設定します。ユーザが<Application Serverのインストールディレクトリ>\httpsd\htdocs\にアクセスするとWebサーバはステータスコード401 Authorization Requiredを応答し,Webブラウザでユーザ名およびパスワードの入力を要求します。
<Directory "<Application Serverのインストールディレクトリ>/httpsd/htdocs"> AuthType Basic AuthName "realm 1" AuthUserFile "<Application Serverのインストールディレクトリ>/httpsd/htdocs/.htpasswd" Require valid-user </Directory>
(1) ユーザ名とパスワードのパスワードファイルへの登録およびパスワードの変更
htpasswdコマンドを使用して,パスワードファイルにユーザ名,パスワードの登録および変更ができます。
htpasswdコマンドの使用方法について次に説明します。
(a) 形式
htpasswd 〔-b〕〔-c | -D〕 パスワードファイル名 ユーザ名〔パスワード〕
(b) オペランド
-
-b
パスワードをコマンドラインに指定する場合に指定します。
-
-c
新規にパスワードファイルを作成する場合に指定します。すでに作成しているパスワードファイルにユーザを追加する場合や,パスワードを変更する場合には,指定する必要はありません。
-
-D
ユーザの登録を削除する場合に指定します。指定したパスワードファイルに,指定したユーザが登録されている場合に,パスワードファイルから該当するユーザを削除します。
-
パスワードファイル名
パスワードを登録,変更または削除するパスワードファイルを指定します。
-
ユーザ名
パスワードを登録,変更または削除するユーザ名を指定します。
-
パスワード
登録または変更するパスワードを指定します。-bオプションを指定したときだけ指定できます。
(c) 使用方法
パスワードファイル名と,登録するユーザ名またはパスワードを変更するユーザ名を指定してhtpasswdを起動すると,そのユーザのパスワードの入力が要求されます。入力確認を含め,2回パスワードを入力すると,パスワードファイルにそのユーザのユーザ名と,パスワードが登録されます。
C:\>"<Application Serverのインストールディレクトリ>\httpsd\bin\htpasswd.exe" .htpasswd userxx …1. New password: …2. Re-type new password: …3. Updating password for userxxx …4. C:\>
-
userxxのパスワードの変更
-
新パスワード入力
-
新パスワード再入力
-
新パスワードの登録終了
登録を削除する場合は,-Dオプション,パスワードファイル名および削除するユーザ名を指定してhtpasswdを起動します。
C:\>"<Application Serverのインストールディレクトリ>\httpsd\bin\htpasswd.exe" -D .htpasswd userxx …1. Deleting password for userxx …2. C:\>
-
userxxの登録削除
-
userxxの登録削除終了
(d) 注意事項
-
ユーザ名の最大長とパスワードの最大長は128文字です。
-
htpasswdコマンド実行時は,パスワードファイルの作成先と同じディレクトリに,作業ファイルが一時的に作成されます。作業ファイル名は,「パスワードファイル名.プロセスID」です。この作業ファイルは,htpasswdコマンドの終了時に自動的に削除されます。ただし,実行中にキャンセルした場合など,作業ファイルが削除されないことがあります。作業ファイルが残っている場合は,手動で削除してください。