前幾天收到客戶的一個特別需求,有一臺服務器的服務Service1需要授予以爲普通的域用戶User1重啓服務的權限,並且不希望該用戶擁有重啓該服務器以爲的其他管理權限,如遠程登錄服務器、服務器的管理員權限等。在windows中可以對特定服務進行授權管理,方法大概有以下三種:
1) 使用組策略進行授權
2) 使用安全模板進行授權;
3) 使用工具Subinacl.exe進行授權。
以上3個方法中第三個不能在最新的windows 2008 R2中使用。下面詳細介紹以上三個方法的具體實現方式。
此方法適用於在域策略中使用,本地策略中不適用,也可在Windows 2008及R2的域中使用。在此不詳細介紹組策略的新建及應用。
1) 單擊“開始”,指向“管理工具”,然後單擊“組策略管理”;
2) 右擊“組策略對象”,然後單擊“新建”。鍵入新的組策略對象的名稱(例如,Service1服務授權),然後按 ENTER 鍵。
3) 單擊該新建的組策略對象(如果尚未選中),然後右擊“編輯”。
4) 展開“計算機配置”,展開“Windows 設置”,展開“安全設置”,然後單擊“系統服務”。
5) 在右窗格中,雙擊要對其應用權限的服務(Service1)。
6) 單擊“定義這個策略設置”複選框,將其選中。
7) 單擊“編輯安全設置”。
8) 對所需的用戶帳戶和組授予適當的權限,並且可以在“高級”中細分相關權限,然後單擊“確定”。
9) 在“選擇服務啓動模式”中選擇“自動”,單擊“確定”。
10) 將新建的組策略鏈接到相關的OU中。
此方法適合對單臺的服務器或工作組下的服務器授權,並且在Windows 2008或R2中使用。若要使用安全模板來更改系統服務的權限,創建安全模板,操作步驟如下:
1) 單擊“開始”、 單擊“運行”,在“打開”框中鍵入mmc,然後單擊“確定”。
2) 在“文件”菜單上單擊“添加/刪除管理單元”。
3) 單擊“添加”、 單擊“安全配置和分析”、 單擊“添加”,單擊“關閉”,然後單擊“確定”。
4) 在控制檯樹中右鍵單擊“安全配置和分析”,然後單擊“打開數據庫”。
5) 指定名稱和爲該的數據庫的位置,然後單擊“打開”。
6) 在“導入模板”對話框出現,單擊要導入的安全模板,然後單擊“打開”。
7) 在控制檯樹中右鍵單擊“安全配置和分析”,然後單擊“立即分析計算機”。
8) 在“執行分析”對話框出現,接受顯示在“錯誤日誌文件路徑”框中的日誌文件的默認路徑或指定所需的位置,然後單擊“確定”。
9) 分析完成後請按以下方法配置服務權限:
a) 在控制檯樹中單擊“系統服務”。
b) 在右窗格中雙擊服務想要更改其權限。
c) 單擊以選中“在數據庫中定義這個策略”複選框,然後單擊“編輯安全”。
d) 若要配置新的用戶或組的權限,單擊“添加”。在“選擇用戶、計算機,或組”對話框中鍵入的用戶或組爲其設置權限,所需的名稱,然後單擊“確定”。
e) 在“User or Group 的權限”列表中配置爲用戶或組所需的權限。
f) 單擊“確定”兩次。
10) 要將新的安全設置應用到本地計算機中,用右鍵單擊“安全配置和分析”,然後單擊“立即配置計算機”。
從下載並安裝Subinacl,默認安裝路徑爲:C:\Program Files\Windows Resource Kits\Tools,Subinacl下載地址爲:
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=23510
Subinacl的命令語法爲:
SUBINACL /SERVICE \\MachineName\ServiceName
/GRANT=[DomainName\]UserName[=Access]
運行此命令,用戶必須具有管理員權限才能成功完成。
如果省略 MachineName,則假定爲本地計算機。
如果省略 DomainName,在本地計算機帳戶的搜索。
可以對組進行授權。
Access 可以接受的值如下所示:
F : Full Control
R : Generic Read
W : Generic Write
X : Generic eXecute
L : Read controL
Q : Query Service Configuration
S : Query Service Status
E : Enumerate Dependent Services
C : Service Change Configuration
T : Start Service
O : Stop Service
P : Pause/Continue Service
I : Interrogate Service
U : Service User-Defined Control Commands
如本文中提到的客戶需求(重啓服務)就可以通過以下命令完成。
cd “C:\Program Files\Windows Resource Kits\Tools”
SUBINACL /SERVICE \\MachineName\Service1 /GRANT=contoso\User1=TO
比如修改本地計算機apache服務用戶爲user1權限爲重啓服務:
subinacl /service apache /grant=user1=TO #### TO 是有重啓權限
http://www.canway.net/Lists/CanwayOriginalArticels/DispForm.aspx?ID=348