2012-10-02 147 views
0

我目前的工作項目是創建一個自動更新的內部使用的網站列表,以便通過網絡瀏覽器訪問。我發現我可以通過編寫ASP腳本,讀取MetaBase.xml中的XML數據並將其顯示給用戶來完成此操作。防止IIS6覆蓋文件權限

我已經寫好了我的腳本,並在我的最後工作。唯一的是,我必須自定義文件權限(默認情況下,限制誰可以讀取系統目錄中的文件是嚴格的)。我想出了我需要實現的權限,讓它工作...

...但每次有人對IIS進行更改時,權限都會重置爲默認值。

我已經竭盡所能來防止這種行爲 - 刪除修改用戶權限爲每個帳戶在該文件(除虛擬一個我以防萬一設立)的能力,改變到所述僞帳戶所有權和刪除權限讓所有其他用戶擁有所有權等。但是,每次對IIS進行更改時,所有權都將更改回管理員組,並且權限會更改回默認值。

有什麼辦法可以防止這種情況發生?或者,或者:如果我對這個問題的處理方式完全愚蠢,有人可以提出更好的建議嗎?

謝謝!

回答

1

如果您沒有問題ASP.NET/C#則可以使用DirectorEntry枚舉的站點列表

看到類似的帖子在這裏: How can I look up IIS site id in C#?

DirectoryEntry de = new DirectoryEntry("IIS://localhost/W3SVC"); 
foreach (DirectoryEntry child in de.Children) 
{ 
    if (child.SchemaClassName == "IIsWebServer") 
    { 
     Response.Write(child.Properties["ServerComment"].Value + "<br/>"); 
    } 
} 

權限明智的,你可能需要在特權帳戶下運行該應用程序