最近公司希望将Windows 2003更新為Windows 2008,做完安全設定後發現.net調用批處理拒絕通路的情況。
網上很多說更改應用程式池的權限,建議不需要修改該權限,我這裡強烈建議使用預設的權限控制。
<a href="http://s3.51cto.com/wyfs02/M02/74/66/wKiom1YcYE2xZQLoAAIo2yHMzX0736.jpg" target="_blank"></a>
故障情況:
.net可以正常調用exe檔案,但是無法調用批處理檔案。
最後使用程式跟蹤發現調用批處理需要cmd.exe通路執行權限,因為安全上考慮将cmd.exe的users使用者執行權限都删除了。于是在c:\windows\system32\cmd.exe将users權限賦予執行即可正常。
另外說明:
IIS網站根目錄隻需要USERS讀和執行的權限即可正常,如果web應用程式會向目錄寫東西如自動生成如靜态檔案的,則隻需要将該目錄設定為IIS_IUSER為讀寫權限
<a href="http://s3.51cto.com/wyfs02/M02/74/63/wKioL1YcYlSyHD5xAAGROP_h3b0000.jpg" target="_blank"></a>
并且在進階權限設定裡面将執行權限拿掉即可。
<a href="http://s3.51cto.com/wyfs02/M00/74/63/wKioL1YcYv2STOPRAAIOrmMKZKs588.jpg" target="_blank"></a>
本文轉自 rong341233 51CTO部落格,原文連結:http://blog.51cto.com/fengwan/1702356