ユーザ認証機能を提供します。 現在、モジュールは mod_auth_db.so と mod_auth_dbm.so の2種類存在します。 これらの違いは、パスワードデータの管理方法だけです。 mod_auth_db.so は Berkeley-DB を利用し、mod_auth_dbm.so は伝統的な Unix-NDBM を利用します。 パスワードデータはともに MD5 符号化した上で、 ハッシュデータベースで管理されます。
サーバホスト側のユーザ認証は、 設定ファイル(wyvern.conf)中の ServerRoot で指定したディレクトリの下の etc ディレクトリに .waccess ファイルを作成することで可能です。 パスワードファイルは、 wpasswd コマンドを利用して作成します。
Example:
/usr/local/wyvern/etc/.waccess
/usr/local/wyvern/etc/.wpasswd.db
ユーザ側のユーザ認証は、 設定ファイル(wyvern.conf)中の UserDir で指定したディレクトリ直下に .waccess と パスワードファイルを置くことによってユーザ認証が可能となります。
Example:
/home/kouichi/public_html/.waccess
/home/kouichi/public_html/.wpasswd.db
.waccess ファイルの書式は次のとおりです。
AuthDir | アクセス制御するディレクトリパス |
AuthUser | アクセス制御するユーザ名 |
Example:
# this is a comment
AuthDir /link
AuthUser kouichi
AuthUser guest
AuthDir /FreeBSD
AuthUser kouichi
上記の例では、/link 以下にアクセスできるのは kouichi と guest、/FreeBSD 以下に アクセスできるのは kouichi だけとなります。
また、現在のバージョンでは認証方式は Basic認証に限定しています。 AuthUser は次の AuthDir が出て来るまで、 現在の AuthDir を対象とします。
認証用パスワードファイルは、 wpasswd コマンドを用いて作成します。 標準的な導入で Wyvern をインストールした場合は、 /usr/local/wyvern/bin/wpasswd にインストールされます。
wpasswd コマンドの書式は次のとおりです。
wpasswd [-db|-dbm] passwordfile username
passwordfile は作成するパスワードファイル名を、 username はユーザ名を指定します。 また、認証モジュールとして mod_auth_db.so を利用する場合は -db オプションを、 mod_auth_dbm.so を利用する場合は -dbm オプションを指定します。
たとえば、mod_auth_db.so を利用して、 ユーザ「kouichi」をパスワードファイル「wpasswd.db」で管理する場合は、 次のように入力します。 コマンド入力後、パスワードと確認用のパスワードの入力があります。
Example:
% /usr/local/wyvern/bin/wpasswd -db wpasswd.db kouichi
アクセス制御モジュールは、 サーバ全体へのアクセス制御機能を提供しましたが、 認証モジュールでは付加機能として、 ディレクトリレベルでの IP アドレス/ドメイン名によるアクセス制御を提供します。 アクセス制御は、.waccessファイルに次のように記述します。
AuthDir /Linux
AuthAddr .MysticWALL.COM
AuthAddr 192.168.
上記の例では、/Linux ディレクトリ以下のアクセスは、 ドメイン名(MysticWALL.COM)あるいは IP アドレス(192.168.)からは許可し、 記述されていないホストからのアクセスはユーザ認証モードに移行します。
例えば、次のような記述で
AuthDir /Linux
AuthUser kouichi
AuthAddr .MysticWALL.COM
AuthAddr 192.168.
.yz.yamagata-u.ac.jp からのアクセスの場合は、 AuthAddr で拒否されるが、その後、ユーザ認証モードになります。 このとき、kouichi で認証を行うことにより /Linux 以下のディレクトリにアクセスできます。