簡體   English   中英

寫入文件時未經授權的訪問

[英]Unauthorized access when writing to file

我有一個 asp.net 網站,用戶可以在其中打印文檔。 該文檔首先寫入服務器上的文件夾,然后由客戶端打開/打印。 在 IIS 服務器上部署網站時,當用戶嘗試打印文檔時,我確實遇到了幾次問題。 顯然,服務器上的 IIS 用戶沒有足夠的訪問權限來寫入本地文件夾,因此引發了未經授權的訪問異常。

哪一個是 IIS 用戶,如何授予它對 .net 中服務器上的文件夾的寫入權限?

我將授予對 IUSR_MACHINE 和 NETWORK SERVICE 帳戶的寫入/修改權限。 要實際更改權限,請在 Windows 資源管理器中找到文件夾,獲取文件夾屬性。 在安全選項卡上,單擊列表中的用戶(您可能必須先將用戶“添加”到列表中),然后選中允許列下的相應復選框。

順便說一句,當我被權限問題難住時,Sysinternals Process Monitor 幾乎總能解決它。 運行procmon.exe,通過排除已知良好進程的進程設置過濾器(右鍵單擊進程名稱,select“排除'explorer.exe'”)。 我通常也會排除已知結果,如 SUCCESS 和其他一些結果。 然后,您可以重現該問題,列表底部將列出一個閃亮的“拒絕訪問”條目,包括用戶帳戶的名稱,以及它試圖訪問的特定資產。

下載鏈接: http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx

通常它是 NETWORK SERVICE 用戶,它對所需文件夾具有寫入權限。

該進程還經常使用一個名為“IUSR”的用戶。

在服務器 class 操作系統上,ASP.NET 2.0 在“網絡服務”帳戶下運行。 (我不確定它是否使用不同的 XP 帳戶。)

與其賦予帳戶更多訪問權限,不如讓 ASP.NET 在專用帳戶下運行。 這個 PDF解釋了如何做到這一點。 (這解釋了 IIS 6.0;在 IIS 7.0 下可能略有不同,但可能大致相同。)

您可以使用 ASP.NET 模擬 - http://msdn.microsoft.com/en-us/library/aa292118(VS.71).aspx - 檢查您的程序是否可以在選定的用戶帳戶下運行。

我發現這對於探索與帳戶權限相關的問題非常有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM