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 ファイルは CPU サーバに置かれているので他のユーザから読み取られる かも知れません。MD5 を使用する場合には辞書攻撃に合わないような良い パスワードを使用して下さい。 この認証は HTTP/1.0 で述べられている basic authentication です。 簡便な認証方式なのでよく使用されている様ですが 盗聴に弱いので重要なデータには使用しないで下さい。 注意 第三フィールドが要求されたパスにマッチしているか否かの判定に関しては パス名適合規則を参照して下さい。 なお、この判定は URI 変換が終了してから行われます。 この段階ではパスはファイル名で終了しています。