Namazu-win32-users-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Permission denied で次に進めません



 やまちかです。

morimoto@xxxxxxxxxxxxさんは
<LEEAJHIFNIMECCJBMBDLEEFLCAAA.morimoto@xxxxxxxxxxxx>で書きました:

>各種解説では、ScriptsのIISでの仮想ディレクトリの設定では、
>読み取りにチェックは入れないとなっています。

 仮想ディレクトリとは、IISの中だけで通用する概念です。
 つまり、Webブラウザ(クライアント)に対するアクセス権です。

>それは、理解できるのですが、では、InetpubにあるSCRIPTS,SEARCHのディレクトリの
>アクセス権は
>どうなるのでしょうか。そして、中のファイルも含めて。
>自分の今の状況は、両方ともEveryone IUSRともに読み取りと実行で設定されていま
>す。

 これはNTFSファイルシステムのアクセス権です。私は明確に区別する
ために、エクスプローラにあわせて「フォルダ」と呼んでいます。

>実工でもやってみましたが、同じ状況で素人話で申し訳ないですが、
>検索をかけると、どうしても、namazu.cgi.exe本体をダウンロードしようとするわけ
>は、
>どういうことなのでしょうか。

 IISがクライアントからの要求を受けてnamazu.cgi.exeを実行するには、

1. Scripts仮想ディレクトリにnamazu.cgi.exeがあることを確認する。
 この時点で「フォルダに対する読み取り」が発生します。
 読み取るのはIISに割り当てたユーザ「IUSR_サーバ名」です。
2. namazu.cgi.exeファイルをメモリに読み込み、実行する。
 実行するのもIISです。
 実行時のユーザは「IUSR_サーバ名」です。
3. 検索結果をHTMLとしてWebブラウザに返す。
 IIS単独で行います。ユーザは通常「SYSTEM」です。

となります(ユーザ認証をしない場合)。

 したがって、Scriptsフォルダには最低限「読み取り」の権限が必要です。

 ただし、メモリに読み込んだexeファイルの実行は、IISが担当します。

 読み込んだ後で、そのexeファイルを実行するか、exeファイルそのものを
Webブラウザに返すかは、Scripts仮想ディレクトリに「読み取り」の権限が
あるか、「アプリケーションの設定」があるかで決まります。これらは
インターネットサービスマネージャでの設定次第です。

 フォルダ(NTFSファイルシステム)へのアクセス権は、ユーザ認証を行わ
ないIISでは「IUSR_サーバ名」のユーザ権限とみなされます。

 NTFSファイルシステムのデフォルト設定では、「(NTから見て)すべての
認証済みユーザ」の意味で「Everyone」が設定されています。これには
「IUSR_サーバ名」のユーザが含まれます。

>また、ダウンロードしない場合は、ほぼアクション自体が停止しているようで、
>ブラウザーへの表示にいたりません。

 IISの仮想ディレクトリの権限が適切であっても、フォルダに「読み取り」
の権限がなければ、exeファイルをメモリにロードすることすら不可能です
から、実行はできません。「アクション停止=exeを実行できない」と考え
て、ほぼ差し支えないでしょう。

-- 
Keiichi Yamachika (http://www.mountain.jp/)
物欲!衝動メーリングリスト&勉強会メーリングリスト