2008-09-30 111 views
0

當ASP.NET應用程序在具有模擬的Windows 2003 Server中的IIS6.0下運行時,什麼用戶帳戶與決定文件讀/寫/執行訪問權限相關?我有兩種情況,我試圖瞭解授予/撤銷的訪問權限。我認爲最相關的用戶可能是應用程序池中指定的身份,但似乎並不是全部。瞭解IIS6權限,ACL和身份 - 我如何限制訪問?

第一個問題涉及通過System.Diagnostics.Process.Start()執行本地批處理文件 - 當AppPool設置爲IWAM_WIN2K3WEB用戶時,我無法這樣做,但如果它設置爲網絡服務身份。我當然確保IWAM用戶對該文件具有執行權限。

第二個涉及寫入本地硬盤驅動器上的文件 - 我希望能夠通過文件夾屬性阻止通過訪問控制列表這樣做,但即使我設置了所有用戶文件夾爲「讀取」(根本沒有「寫入」的用戶/組),我們的ASP.NET仍然寫出文件沒有問題。如果它沒有寫入權限,它怎麼可能?

谷歌搜索變成碎片,但從來沒有整個故事。

回答

1

哪些用戶帳戶相關的[..]文件的讀/寫/執行訪問

作爲一個規則:始終將用戶帳戶應用/頁下運行。

IWAM帳戶相當有限。我不認爲它有權啓動外部進程。文件訪問權在這一點上是無關緊要的。

如果用戶帳戶(您的案例中的網絡服務)擁有一個文件(即已經創建了它),即使沒有明確允許,它也可以對該文件執行任何操作。檢查誰擁有你的文件。

Process Monitor來自微軟是一個很好的工具來追蹤像這樣的微妙之處。

+0

IWAM帳戶在哪裏有限?我如何看到/調整這些限制? – 2008-09-30 21:07:11

0

多一點搜索表明IWAM用戶沒有很好的文檔記錄,如果我們想爲該用戶指定權限,我們應該堅持使用NETWORK SERVICE或手動提供的身份。