mod_authn_file テキストファイルを用いたユーザ認証 Base mod_authn_file.c authn_file_module Apache 2.0.44 以降

本モジュールは mod_auth_digestmod_auth_basic といった認証フロントエンドに対して、 プレインテキストのパスワードファイル内からユーザを検索することで、 ユーザ認証機能を提供します。似たような機能は mod_authn_dbm でも提供されています。

mod_auth_basicmod_auth_digest を使用する際には、 AuthBasicProviderAuthDigestPrivider で「 file 」と指定することでこのモジュールは起動されます。

AuthName AuthType AuthBasicProvider AuthDigestProvider AuthUserFile 認証に使用するユーザとパスワードの一覧が格納されている、 テキストファイルの名前を設定する AuthUserFile file-path directory .htaccess AuthConfig

AuthUserFile ディレクティブは、 ユーザ認証のためのユーザとパスワードの一覧を格納した テキストファイルの名前を設定します。file-path はユーザファイルへのパスです。 もし絶対パスでなければ (つまり スラッシュで始まらないパスであれば) 、ServerRoot からの相対パスとして扱われます。

ユーザファイルの各行には、ユーザ名、コロン、 crypt() で暗号化したパスワードを記述します。 同一ユーザが複数回登録された時の挙動は定義されていません。

バイナリ配布の一部としてインストールされるか、 あるいは src/support にある htpasswd ユーティリティで、このパスワードファイルをメインテナンスします。 詳細は man ページをご覧頂くとして、簡単には:

初期 ID username で、Filename というパスワードファイルを生成します。 次のコマンドを発行するとパスワードが要求されます:

htpasswd -c Filename username

パスワードファイル Filename に、username2 を追加したり修正したりします:

htpasswd Filename username2

(訳注: 非常に多くのユーザを登録すると大きなファイルになりますが) 大きなテキストファイルを検索するのは非常に効率が悪い ということに注意してください。そのような必要のある時は、 AuthDBMUserFile を代わりに使ってください。

セキュリティ

AuthUserFile は、ウェブサーバのドキュメントツリーの外側に保管するようにしてください。 保護しようとしているディレクトリ以下には、置かないで下さい。 そうしないと AuthUserFile は ダウンロードできてしまいます。