ユーザ認証は、Webブラウザからのアクセス要求時のユーザ名、パスワードがパスワードファイルに登録されているかを確認し、登録されていないユーザ名、パスワードのアクセスを拒否します。
ユーザ認証を設定するための手順を以下に示します。
ユーザのパスワードを登録します。詳細については、「ユーザのパスワード登録」を参照してください。
環境定義ファイル(httpd.conf)を設定します。詳細については、「環境定義ファイル(httpd.conf)の設定」を参照してください。
(1)ユーザのパスワード登録
コマンドプロンプト上でhtpasswdコマンドを使用して、アクセス制御を許可するユーザのパスワードをパスワードファイルに登録します。
例
新規にパスワードファイル「C:\Interstage\F3FMahs\conf\password.txt」を作成して、ユーザ「user1」のパスワードを登録する場合。
C:\Interstage\F3FMahs\bin\htpasswd.exe -c C:\Interstage\F3FMahs\conf\password.txt user1
新規にパスワードファイル「/opt/FJSVahs/conf/password.txt」を作成して、ユーザ「user1」のパスワードを登録する場合。
/opt/FJSVahs/bin/htpasswd -c /opt/FJSVahs/conf/password.txt user1
注意
htpasswdコマンドの-cオプションは、新規にパスワードファイルを作成する場合に指定します。2人目以降のユーザを登録する場合、および既存のユーザのパスワードを変更する場合、-cオプションを指定する必要はありません。
ユーザを削除する場合、テキストエディタを使用してパスワードファイルを編集します。
パスワードファイルは、以下のように記述されているので、「user2」を削除する場合は「user2」の1行を削除して格納してください。
user1:$apr1$SR3.....$4aQAE2EU9NZTtbkxMEOa4/ user2:$apr1$DS3.....$tEb4EYLhraAc1p2wIygTV/
セキュリティ対策のため、パスワードファイルのアクセス権限を変更することを推奨します。
パスワードファイルのアクセス権限の変更手順を以下に示します。
エクスプローラのファイルプロパティを使用して、パスワードファイルのアクセス権限を変更します。
エクスプローラを起動します。
パスワードファイルを選択して右クリックします。
[プロパティ]をクリックします。
[セキュリティ]タブをクリックします。
プロパティの[セキュリティ]画面で、以下のグループ以外の[アクセス許可]設定に「拒否」を選択して、[OK]ボタンをクリックします。
Administrators
SYSTEM
アクセス権限の変更後は、Administratorsグループに所属するユーザでhtpasswdコマンドを実行してください。
スーパユーザで以下のコマンドを使用して、パスワードファイル(例:「/opt/FJSVahs/conf/password.txt」)のアクセス権限および所有者を変更します。
chmodコマンドで、パスワードファイルのアクセス権限を「640」に変更します。
chmod 640 /opt/FJSVahs/conf/password.txt
chownコマンドで、パスワードファイル所有者を「root」に変更します。
chown root /opt/FJSVahs/conf/password.txt
chgrpコマンドで、パスワードファイルの所有者が所属するグループを「nobody」(環境定義ファイル(httpd.conf)のGroupディレクティブの設定値)に変更します。
chgrp nobody /opt/FJSVahs/conf/password.txt
アクセス権限の変更後は、スーパユーザでhtpasswdコマンドを実行してください。
(2)環境定義ファイル(httpd.conf)の設定
ユーザ認証は、AuthUserFileディレクティブやAuthTypeディレクティブなどを使用して、パスワードファイルに登録したユーザだけが指定したディレクトリ配下のアクセスを許可するように設定します。
アクセスを許可するユーザ(およびホスト)に応じた設定例を以下に示します。
注意
ServletサービスのアプリケーションのURLに対してユーザ認証を設定する場合は、以下の設定例の<Directory>セクションは使用できません。<Location>セクションを使用してください。
■パスワードファイルの登録ユーザのアクセスだけを許可する場合
例
指定したディレクトリ「C:\Interstage\F3FMahs\htdocs\users\name」配下を、パスワードファイル「C:\Interstage\F3FMahs\conf\password.txt」に登録されているユーザのアクセスだけを許可する場合
LoadModule auth_basic_module "C:/Interstage/F3FMahs/modules/mod_auth_basic.so" LoadModule authn_file_module "C:/Interstage/F3FMahs/modules/mod_authn_file.so" LoadModule authz_user_module "C:/Interstage/F3FMahs/modules/mod_authz_user.so" <Directory "C:/Interstage/F3FMahs/htdocs/users/name"> AuthUserFile "C:/Interstage/F3FMahs/conf/password.txt" AuthName "Secret directory" AuthType Basic Require valid-user </Directory>
指定したディレクトリ「/opt/FJSVahs/htdocs/users/name」配下を、パスワードファイル「/opt/FJSVahs/conf/password.txt」に登録されているユーザのアクセスだけを許可する場合
LoadModule auth_basic_module "/opt/FJSVahs/modules/mod_auth_basic.so" LoadModule authn_file_module "/opt/FJSVahs/modules/mod_authn_file.so" LoadModule authz_user_module "/opt/FJSVahs/modules/mod_authz_user.so" <Directory "/opt/FJSVahs/htdocs/users/name"> AuthUserFile "/opt/FJSVahs/conf/password.txt" AuthName "Secret directory" AuthType Basic Require valid-user </Directory>
■パスワードファイルの登録ユーザおよび指定したホストのアクセスを許可する場合
例
指定したディレクトリ「C:\Interstage\F3FMahs\htdocs\users\name」配下を、以下のどちらかからのアクセスを許可する場合
パスワードファイル「C:\Interstage\F3FMahs\conf\password.txt」に登録されているユーザ(ユーザ認証)
指定したホスト「192.168.1.1」(IPアクセスコントロール)
LoadModule auth_basic_module "C:/Interstage/F3FMahs/modules/mod_auth_basic.so" LoadModule authn_file_module "C:/Interstage/F3FMahs/modules/mod_authn_file.so" LoadModule authz_user_module "C:/Interstage/F3FMahs/modules/mod_authz_user.so" <Directory "C:/Interstage/F3FMahs/htdocs/users/name"> AuthUserFile "C:/Interstage/F3FMahs/conf/password.txt" AuthName "Secret directory" AuthType Basic Require valid-user Order Deny,Allow Deny from all Allow from 192.168.1.1 Satisfy Any </Directory>
指定したディレクトリ「/opt/FJSVahs/htdocs/users/name」配下を、以下のどちらかからのアクセスを許可する場合
パスワードファイル「/opt/FJSVahs/conf/password.txt」に登録されているユーザ(ユーザ認証)
指定したホスト「192.168.1.1」(IPアクセスコントロール)
LoadModule auth_basic_module "/opt/FJSVahs/modules/mod_auth_basic.so" LoadModule authn_file_module "/opt/FJSVahs/modules/mod_authn_file.so" LoadModule authz_user_module "/opt/FJSVahs/modules/mod_authz_user.so" <Directory "/opt/FJSVahs/htdocs/users/name"> AuthUserFile "/opt/FJSVahs/conf/password.txt" AuthName "Secret directory" AuthType Basic Require valid-user Order Deny,Allow Deny from all Allow from 192.168.1.1 Satisfy Any </Directory>
参考
関連ディレクティブ
Allow
AuthName
AuthType
AuthUserFile
Deny
<Directory>
LoadModule
Order
Require
Satisfy