Logo address

名前空間

2002/08/25

Pegasus の名前空間は以下の順序で決定されていく。

httpd の起動

	起動直後は httpd を起動した名前空間の中にいる。
	これは通常 console の名前空間である。

ユーザ none として実行される場合には名前空間は

	/lib/namespace
に従って再編成される。

クライアントからのリクエスト

	/sys/lib/httpd.rewrite
に従って前処理される。
この段階で、実ホストへの要求か、仮想ホストやユーザへの要求かが判明する

まず

	/lib/namespace.httpd
に従い名前空間を再編する。(これは実ホストの名前空間でもある)

仮想ホスト・ユーザの場合には、さらに名前空間を再編する。

httpd のサービス空間の確立(実ホスト・仮想ホスト・ユーザごとの名前空間)
(以下ではパス表示は全てサービス空間でのものである)

/etc/rewrite による前処理
要求されたファイルの確定

/etc/allow、/etc/passwd によるアクセス制限のチェック

CGI でない場合には要求されたファイルをクライアントに渡す
CGI の場合
必要なら ramfs
必要なら新たなマウントの禁止

/etc/namespace.cgi を参照し名前空間の再編成
CGI における名前空間の確立

CGI プログラムの実行