mod_authn_dbm - Apache HTTP サーバ バージョン 2.2

Apache HTTP サーバ バージョン 2.2

Apache > HTTP サーバ > ドキュメンテーション > バージョン 2.2 > モジュール

# Apache モジュール mod_authn_dbm

翻訳済み言語: en | ja | ko

説明: | DBM ファイルを用いたユーザ認証
ステータス: | Extension
モジュール識別子: | authn_dbm_module
ソースファイル: | mod_authn_dbm.c
互換性: | 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`

- コメント

## AuthDBMType ディレクティブ

説明: | パスワードを保存するために必要なデータベースファイルの種類を 設定する
構文: | `AuthDBMType default|SDBM|GDBM|NDBM|DB`
デフォルト: | `AuthDBMType default`
コンテキスト: | ディレクトリ, .htaccess
上書き: | AuthConfig
ステータス: | Extension
モジュール: | mod_authn_dbm

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

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

## AuthDBMUserFile ディレクティブ

説明: | 認証用のユーザとパスワードのリストを保持している データベースファイル名を設定する
構文: | `AuthDBMUserFile file-path`
コンテキスト: | ディレクトリ, .htaccess
上書き: | AuthConfig
ステータス: | Extension
モジュール: | mod_authn_dbm

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

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

### セキュリティ

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

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

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

翻訳済み言語: en | ja | ko

## コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.