プレインテキストのパスワードファイルとグループファイルを検査して
ユーザを探すことで、HTTP 基本認証でアクセス制限できるようにします。
似たような機能で、もっと大きなスケーラビリティを持ったものは、
グループファイル各行は、グループ名、コロン、そして スペース区切りでそのメンバーのユーザ名を記述します。
大きなファイルを探索するのは、非常に効率が悪いという点に
注意してください。そのような場合は、
ユーザファイルの各行には、ユーザ名、コロン、
暗号化したパスワードを記述します。
同一ユーザ ID が複数回登録された時は、
バイナリ配布の一部としてインストールされるか、
あるいは src/support
にある
htpasswd
ユーティリティで、このパスワードファイルをメインテナンスします。
詳細は man ページをご覧頂くとして、
簡単には:
初期 ID username
で、Filename
というパスワードファイルを生成します。
次のコマンドを発行するとパスワードが要求されます:
パスワードファイル Filename
に、username2
を追加したり修正したりします:
(訳注: 非常に多くのユーザを登録すると大きなファイルになりますが)
大きなテキストファイルを検索するのは非常に効率が悪い
ということに注意してください。そのような必要のある時は、
Off
に設定すると、
与えられた認証ユーザ ID に対してユーザ ID がない
またはルールがない場合に、
認証と承認の両方のプロセスが、
より低いレベルのモジュール (Configuration
と
modules.c
ファイルで定義) に移行するようにできます。
ユーザ ID がある、かつまたは、ルールが指定されている場合は、
通常のパスワードとアクセスチェックが適用されて、
認証に失敗すると "Authentication Required" 応答が返されます。
ですから、二つ以上のモジュールのデータベースで同一の
ユーザ ID が現われたり、
または、正しい
一般的な使用法は、mod_auth_msql
,
デフォルトでは、制御は移行しません。そして、未知のユーザ ID や ルールがあっても "Authentication Required" 応答が返されます。 ですから、このディレクティブ設定しないことでシステムの安全を維持できて、また、 NCSA 準拠の挙動を強制できます。
ユーザが自分自身で作成した
.htaccess ファイルで認証できるようにすることの影響を
考慮に入れておいてください。そして、
それが本当に希望の挙動であるかどうかを検討してください。
一般的に言って、mSQL といったデータベースのセキュリティ保護よりも、
単純に一つのファイル .htpasswd のセキュリティを保護する方が容易です。