−パスワード認証によるアクセス制限−

パスワード認証
WEBページを閲覧していると時々下の図のようなアクセス制限を設けたページを見かけます・CGIプログラムを使ってアクセス制限というのが多いのでしょうが,Apacheには標準で実装されています。Apacheで設定できるパスワード認証には,BASIC認証とダイジェスト認証の2種類があります。ここではBASIC認証の設定についてふれます。
ユーザファイルの作成
無BASIC認証を行うには,ユーザ名とパスワードを記述したユーザファイルを作成し,認証についての設定を httpd.conf に書き込みます。まず,ユーザファイルの作成です。
ユーザファイルの格納場所は特に指定されていません。ここでは例として /etc/httpd/hogehoge ディレクトリを作成して,そこにユーザファイルを作成します。 /etc/httpd/hogehoge ディレクトリに移動し,htpasswdコマンドを実行します。
# htpasswd -c .htpasswd hoge←[c]オプションを付けて新規ファイルを作成。ユーザhogeのパスワードを設定
New password:*********** ←パスワードを入力(表示されない)
Re-type new password:*********** ←パスワードを再入力
Adding password for user hoge
これでユーザhogeが追加されました。既存のユーザファイルに新たなユーザを追加するときは[-c]オプションは不要です。同じディレクトリにグループファイルをエディタで作成して追加することもできます。
httpd.confの編集
httpd.conf を開いて,認証に関する設定を記述します。以下に例を示します。
<Directory "/var/www/html/private"> ←認証を設定するディレクトリ(作成する)
        AuthType Basic
        AuthName "Private Directory" ←認証ダイアログに表示されるメッセージ
        AuthUserFile /etc/httpd/hogehoge/.htpasswd ←ユーザファイルの格納場所
        Require valid-user ←アクセス許可の定義
</Directory>
これで完了です。アクセス許可を指定しているのが Require ディレクティブです。上記の記述はユーザファイルにパスワードを記述したすべてのユーザがアクセス可能となる設定です。記述の仕方は,以下の通りです。
●Require user ユーザ名(ここに記述されたユーザがアクセス可能)
●Require group グループ名(ここに記述されたグループのユーザがアクセス可能)
●Require valid-user(ユーザファイルに記述されたユーザがアクセス可能)


このサイトに関するお問い合わせはlinux@kitahotaru.comまでお願いいたします。