none
IIS7(匿名アクセス)とClassicASPでのリソースアクセス RRS feed

  • 質問

  • お世話になります。

    ClassicASPでファイルのアップロードを行っているのですが、
    アップロードが問題なく行えることに疑問を持っています。

    Windows2008SP1 IIS7 匿名認証
    アップロード先:C:\tempフォルダ
              アクセス権限CreateOwner、System、administrators、Users(読み取りだけ)
    アップロードファイル:book1.xlsx

    このとき、ClassicASPで動作するアカウントは、Network Serviceから偽装されたIUSRアカウントであり
    アップロード先にのアクセス権限には、IUSRアカウントは存在しません。
    なぜアップロードできるのでしょうか。

    プロセスモニタでW3WP.EXEでフィルタをかけおってみた結果では、下記のようになっておりました。

    Event Class: File System
    Operation: CreateFile
    Result: ACCESS DENIED
    Path: C:\temp\book1.xlsx
    TID: 4052
    Duration: 0.0002676
    Desired Access: Generic Write, Read Attributes
    Disposition: OverwriteIf
    Options: Synchronous IO Non-Alert, Non-Directory File
    Attributes: N
    ShareMode: Read
    AllocationSize: 0
    Impersonating: NT AUTHORITY\IUSR

    Result値をみると、失敗しているように表示されているのですが、
    アップロードされてしまいます。

    ご教授ください。
    2010年2月25日 8:25

すべての返信

  • 追記です。

    何回かテストしていたら下記のような結果になりました。
    成功しています。


    ※もともとなっていたかもしれませんが・・・

    Date & Time: 2010/02/25 17:33:25
    Event Class: File System
    Operation: CreateFile
    Result: SUCCESS
    Path: C:\temp\Book1.xlsx
    TID: 2608
    Duration: 0.0020452
    Desired Access: Generic Write, Read Attributes
    Disposition: OverwriteIf
    Options: Synchronous IO Non-Alert, Non-Directory File
    Attributes: N
    ShareMode: Read
    AllocationSize: 0
    Impersonating: NT AUTHORITY\IUSR
    OpenResult: Created



    しかし「NT AUTHORITY\IUSR」アカウントが、C:\tempにCreateFile-APIが、成功しているわけですから
    意味がわかりません。

    ご教授ください。

    2010年2月25日 8:38
  • 自己レスですが、アップロード先フォルダの権限をすべて削除し、administratorもアクセスできなくしたにも
    かかわらず、ファイルがアップされました。ファイルのアクセス権限にはにはIUSR、SYSTEMなどが付与されていました。

    なぞが深まるばかり・・・です。


    ここでなかなか返事がもらえないので、ASP.NETフォーラムでに行ったほうが、よいのでしょうか。

    2010年3月4日 6:14
  • ClassicASP でのファイルアップロード方法を記載なさっていませんがどのようにされているのでしょうか?
    マイクロソフト株式会社 IT Pro エバンジェリスト 奥主 洋
    2010年3月11日 17:45
  • ご返事ありがとうございます。

    アップロード方法ですが、クライアント側は、ActiveX(DLL)で、対象のファイルをRFC1867形式でHTTPにて、IISのReciveFile.aspにPOSTしています。

    ReciveFile.aspでは、POSTデータを解析するActiveXを生成し、ファイルに保存しております。

     

    2010年3月19日 1:20