mod_authn_dbm
DBM ファイルを用いたユーザ認証
Extension
mod_authn_dbm.c
authn_dbm_module
Apache 2.1 以降

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

mod_auth_basic や mod_auth_digest を使用する際には、このモジュールは AuthBasicProvider や AuthDigestPrivider で `dbm` と指定することで起動されます。

AuthName
AuthType
AuthBasicProvider
AuthDigestProvider
AuthDBMUserFile
認証用のユーザとパスワードのリストを保持している データベースファイル名を設定する
AuthDBMUserFile file-path
directory
.htaccess
AuthConfig

AuthDBMUserFile ディレクティブは 認証用のユーザとパスワードのリストを保持している DBM ファイルの 名前を設定します。File-path はユーザファイルへの 絶対パスです。

ユーザファイルのキーはユーザ名です。ユーザに対して返される値は 暗号化されたパスワードで、その後に、コロンに続いて任意のデータが 続いていることもあります。コロンとその後のデータはサーバは 無視します。

# セキュリティ

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

重要な互換性に関する注意: apache module の `dbmopen` の実装は 文字列が NULL で終わっていることに依存するのではなく、DBM データストラクチャ のハッシュ値の文字列の長さを読み取ります。Netscape ウェブサーバなど、 アプリケーションの中には文字列が NULL で終わっていることに依存している ものがあります。ですから、異なるアプリケーション間での DBM ファイルの 使用に問題がある場合は、これが原因になっている可能性があります。

Apache には dbmmanage という perl スクリプトが含まれています。このプログラムを使ってこの モジュールが使用する DBM フォーマットのパスワードファイルを作成したり 更新したりすることができます。

AuthDBMType
パスワードを保存するために必要なデータベースファイルの種類を 設定する
AuthDBMType default|SDBM|GDBM|NDBM|DB
AuthDBMType default
directory
.htaccess
AuthConfig

パスワードを保存するために使用するデータベースファイルの種類を 設定します。デフォルトのデータベースの種類はコンパイル時に決まります。 他の種類のデータベースが使用可能かどうかも コンパイル時の設定に依存します。

パスワードファイルを作成するのに使用するプログラムが同じ種類のデータベースを 使用するように設定することは非常に重要です。