このモジュールはテキストファイルを使ってユーザの認証を行なう機能を 提供します。
ステータス: Base
ソースファイル:
mod_auth.c
モジュール識別子:
auth_module
このモジュールはユーザをプレーンテキストのパスワードとグループ ファイルで調べることにより、HTTP 基本認証でアクセスを制限することを 可能にします。同様の機能でスケーラビリティのあるものは mod_auth_dbm と mod_auth_db により提供されます。 HTTP ダイジェスト認証は mod_auth_digest により提供されています。
これらの認証に基づいたセキュリティの機構はせいぜいウェブサーバの セキュリティと同程度の強度であることに注意してください。 一般に、オペレーティングシステムのセキュリティシステムほどは 強くありません。
参照: require, satisfy, mod_auth require キーワード。
mod_auth
Require
キーワードmod_auth
モジュールは Require ディレクティブに対する
以下のキーワードをサポートします:
user username [...]
group groupname [...]
valid-user
file-owner
jones
である、と言った場合は、Web
を通して アクセスするユーザ名も jones
である必要である、 ということです。file-group
accounts
により所有されていると言った 場合、グループ
accounts
が AuthGroupFile データベースに
属している必要があり、リクエストに使用されたユーザ名も
そのグループのメンバである必要があります。AuthGroupFile ディレクティブはユーザ認証のための ユーザグループのリストが書かれたテキストファイルの名前を設定します。 Filename はグループファイルのパスです。絶対パスでないときは (すなわち、スラッシュで始まらないときは)、ServerRoot からの相対パスとして扱われます。
グループファイルのそれぞれの行は、グループ名、コロン、空白で 区切られたグループに属するユーザ名、からなります。例:
mygroup: bob joe anne
大きなテキストファイルを探すのは非常に効率が悪いということに 注意してください。そのような場合は、代わりに AuthDBMGroupFile を 使ってください。
セキュリティ: AuthGroupFile は必ずウェブサーバのドキュメントツリーの外に 保管してください。それが保護しているディレクトリには置かないで ください。そうでないと、クライアントが AuthGroupFile をダウンロード できてしまいます。
AuthName, AuthType, AuthUserFile も参照してください。
AuthUserFile ディレクティブはユーザ認証のためのユーザとパスワードの リストが書かれたテキストファイルを名前を設定します。File-path は ユーザファイルへのパスです。絶対パスでないときは (すなわち、 スラッシュで始まらないときは)、ServerRoot からの相対パスとして扱われます。
ユーザファイルのそれぞれの行は、ユーザ名、コロン、crypt()
により暗号化された
パスワード、からなります。同じユーザが複数回現れたときの動作は
不定です。
バイナリ配布の一部としてインストールされているか、src/support
にある htpasswd
ユーティリティは、
このパスワードファイルを維持するために使用されます。詳細は
man
ページを参照してください。手短かに説明すると
htpasswd -c Filename username
は 'username' を初期 ID としてパスワードファイル 'Filename' を 作成します。これはパスワードの入力を促します。htpasswd Filename username2
はパスワードファイル 'Filename' に 'username' を 追加するか、既にある 'username' を修正します。
大きなテキストファイルを探すのは非常に効率が悪いということに 注意してください。そのような場合は、代わりに AuthDBMUserFile を 使ってください。
セキュリティ: AuthUserFile は必ずウェブサーバのドキュメントツリーの外に 保管してください。それが保護している ディレクトリには置かないでください。 そうでないと、クライアントが AuthUserFile をダウンロードできてしまいます。
AuthName, AuthType, AuthGroupFile も参照してください。
AuthAuthoritative on
AuthAuthoritative ディレクティブを明示的に
'off' に 設定すると、userID
に合う userID が無い ときと、
それに合うルールが無いときに、認証と権限の付与の両方を
(設定
や modules.c
で定義されている 方法で)
下位のモジュールに渡すことを可能にします。 userID
かルールが指定されているときには、通常と同じパスワードと
アクセスのチェックが行なわれ、成功しなかった場合は
Authorization Required 応答が返されます。
ですから、userID
が複数のモジュールのデータベースに現れたり、 正しい
Require
ディレクティブが複数のモジュールに適用されたり
するときは、最初のモジュールが資格を調査します。AuthAuthoritative
の
設定に関わらず、アクセスの調査は別のモジュールには渡されません。
このディレクティブの普通の利用方法は、mod_auth_db.c
, mod_auth_dbm.c
,
mod_auth_msql.c
, mod_auth_anon.c
のようなデータベースモジュールと一緒に使うものです。
これらのモジュールは大部分のユーザの資格調査を行なう機能を提供します。
しかし、小数の (管理者関連の) アクセスは良く保護されている AuthUserFile
に渡されます。
デフォルト: デフォルトでは制御は渡されません。 知らない userID やルールの結果は Authorization Require 応答になります。 ですから、このディレクティブを設定しないとシステムを安全に保つことができ、 NCSA と同じ動作をするようにできます。
Require valid-user
'
はアクセスを許可します。AuthName, AuthType, AuthGroupFile も参照してください。