Kenji Arisawa
E-mail: arisawa@aichi-u.ac.jp
Aichi University
Kurozasa 370, Miyoshi-cho
Aichi, Japan
2002/02/01

Powered by Pegasus
パスワードファイル
名称
passwd
配置
/etc/passwd
説明
passwd はクライアントからのドキュメントへのアクセスをパスワードで制御します。
このファイルはサービス空間の中での
/etc
に置く必要があります。
ユーザあるいは仮想ホストが与えられた Web ルートの下の etc が
サービス空間の中で /etc となります。
passwd はパスワードによってアクセスを制御します。次がパスワードファイルの
例です。
# a sample password file
'aladdin''s lamp' 54ef36ec71201fdf9d1423fd26f97f6b /photo/private
poe * /documets/secret # server authentication
パスワードファイルの中での `#' はコメントです。
また空行も許されます。
コメントを除去したあとに3つのフィールドが残ります。
第一フィールドは realm (領域) の名称を書きます。
この例の
'aladdin''s lamp'
は
aladdin's lamp
ですが、名前の中に空白や ' を含む場合にはシェルの文字列規則に基づきます。
第二フィールドは パスワードの MD5 です。
echo -n 'open sesame' | md5sum
でここに挙げた MD5 の値が得られるはずです。
このフィールドが `*' の場合には認証サーバにパスワードを認証してもらう
事になります。
第三フィールドはパスパターンです。
ここに示したパスの下にある全てのアクセスに対してパスワードが要求されます。
クライアントがパスワード認証が必要な領域にアクセスした場合には
ユーザ名とパスワードの入力が促されます。
Pegasus はユーザ名が realm と一致し、かつ正しいパスワードが送られた
場合にのみ参照を許可しています。
1つの realm に対してユーザ名とパスワードの入力は1回だけで充分です。
サーバはクライアントから realm へのアクセスがあった時に
「立ち入り禁止 (○×realm)」のメッセージをクライアントに送ります。
クライアントは○×realmのパスワードをサーバに示して通過する訳です。
クライアントは○×realmのパスワードを覚えていて、二回目からのアクセスに
関しては自動的にサーバに送ります。
クライアントからサーバへパスワードが配送されたときに盗聴されていれば
生のパスワードが読み取れます。
サーバの管理者も生のパスワードが分かります。
passwd ファイルはサーバに置かれているので他のユーザから読み取られるかも
知れません。辞書攻撃に合わないような良いパスワードを使用して下さい。
この認証は HTTP/1.0 で述べられている basic authentication です。
簡便な認証方式なのでよく使用されている様ですが
盗聴に弱いので重要なデータには使用しないで下さい。
注意
第三フィールドが要求されたパスにマッチしているか否かの判定に関しては
パス名適合規則を参照して下さい。
なお、この判定は URI 変換が終了してから行われます。
この段階ではパスはファイル名で終了しています。