Windows Service撰寫好後 常會遇到一個問題
究竟要開給新出爐的Service 什麼權限
各個權限的差別 又在哪
MSDN上有對 Windows Service權限的說明
簡單的說
Windows Service對於權限有兩種定義:
- Service account permissions:
- 該Service 根據登入帳號的權限,可以使用的電腦資源。
- Services permissions
- 根據不同的 user or group,提供不同的操作權限。
簡單的說,
前者是決定Service能做哪些事情;後者是決定哪些人能對Service做操作。
Service account
有四種類型:
- Local System:
- powerful account,具有系統的完整存取權限。
- 權限範圍包括網域控制站上的目錄服務(directory service)。
- Local Service:
- 類似 user account,是一個特別的內建帳戶。
- 具有與 [Users] 群組相同等級的資源及物件存取權。
- 作為 此帳戶執行的服務,會以不含認證的 null session 來存取網路資源。
- Network Service
- 前兩項與Local Service相同
- 作為此帳戶執行的服務,會使用電腦帳戶的認證來存取網路資源。
- User Account
- 所有的權限( 網路使用權限、資料夾使用權限 ... 等),都與該帳號相同。
Services permissions
這權限就複雜多了,
簡單的說,Services permissions是針對哪些user 或是哪些 group,
可以對Service做哪些操作。
這些操作包括Service的 啟動、停止、查詢Service資訊、更改Service資訊 ... 等。