トップ 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

BASIC認証

BASIC認証

クライアントからサーバにユーザ名とパスワードを送信し、それがサーバに登録されているものと一致するかで正規の利用者かを確認する方法。クライアントからサーバに送られる情報は平文のまま送られてしまう。

 ApacheBASIC認証を使うには

次の手順を経る。

  1. ユーザ名とパスワードを登録したファイルを作る。
  2. 認証を必要とするディレクトリに対する設定を記述する。

ユーザ名とパスワードを登録する

ユーザ名とパスワードはOSのそれとは別物でhtpasswdコマンドを使い、登録する。登録に使うファイルは自由に指定できる。次の例はユーザsakabeを登録したときのものである。

  • htpasswdコマンドを使い、ユーザ名とパスワードを登録する。
$ htpasswd -c .passwd sakabe
New password:  <- 登録するパスワードを入力
Re-type new password:   <- 登録するパスワードを入力
Adding password for user sakabe

コマンドhtpasswdのオプションcはファイルを作るもので初めてユーザを登録するときのみ使う。二人目以降のユーザ登録では不要である。

ディレクトリごとの設定

httpd.confやユーザごとの設定ファイルで認証対象のディレクトリに対するDirectoryディレクティブ内でAllowOverride?ディレクティブにAllあるいはAuthConfig?があるかを確認し、なければ次の行を追加する。

AllowOverride AuthConfig

更に、認証したいディレクトリに.htaccessというファイルを作り、次のようなディレクティブを入力しておく。

AuthType Basic 
AuthName "Password Required" 
AuthUserFile /home/sakabe/public_html/fswiki/.password 
AuthGroupFile /home/sakabe/public_html/fswiki/.group
Require Group hac
ディレクティブ 意味など
AuthType? 認証方式の種類。Basicを指定する。
AuthName? ユーザ名とパスワード入力用ダイアログに表示するメッセージを指定する。
AuthUserFile? パスワードファイルの絶対パスを指定する。
AuthGroupFile? グループファイルの絶対パスを指定する。
Require ログインできるユーザのグループ名の指定する。ユーザの場合はuser ユーザ名1 ユーザ名2・・またはvalid-user。グループの場合はgroup グループ名

グループファイルの内容

グループファイルは次のように記述する。

グループ名: ユーザ1 ユーザ2 ユーザ3

例えば、グループhacのユーザsakabe konta nishibe watanabeの場合、次のように記す。

hac: sakabe konta nishibe watanabe