2019年12月6日 星期五

[Server]網站主機換新機後,檔案資源無權限修改

       最近需要將網站主機搬移到另一台主機上(兩台都是Window Server 2016,IIS 10),在我將網站資源還有主程式搬過去後,發現操作檔案的頁面都沒辦法執行刪除搬移過去的資源,都只會出現下面這個錯誤,System.UnauthorizedAccessException: 拒絕存取路徑

    原本以為是程式bug,但經過檢查過後發現原有的檔案資料在原本主機都可以進行操作,但是只要換到新機台這邊後,同樣一筆檔案資料會變成無法去存取一起搬移過來的檔案。

結果
最後發現是IIS應用程式集區的權限消失。

1.應用程式集區可以打開IIS查看,確認目前架設的網站是對應到哪個集區,而紅框部分為此集區的識別權限,可以調整此識別來控制權限大小,如沒有特殊需求的話採取默認的識別就可以了。

2.打開兩邊主機的檔案資料夾內容後,確認集區的虛擬帳戶 DefaultAppPool 消失了,
如下圖新主機的這個權限是沒有的。

3.這邊只能手動增加回來,先點選編輯後,再點選中間的新增按鈕。

4.輸入IIS AppPool\DefaultAppPool後,再按下檢查名稱就可以找到此虛擬帳戶,如果網站是用其他程式集區,只要把斜線後面名稱改為你在用的集區即可。

 
5.再來只要把完全控制或者修改權限開起來就可以了,之後程式就能正常執行。


沒有留言:

張貼留言