我有Active Directory与Windows Server 2003 64位。 我的一个用户问我是否有可能从启动 – >控制面板 – >服务启动和停止Oracle和MYSQL服务。 从那里他可以控制他们手动或自动启动,但现在他不能因为用户权限。
是否有可能在组策略中添加新服务,而不在Windows Server 2003上安装Oracle和MySQL?
所以为了确保我正确理解你
这听起来像您试图更改组策略中的服务权限,但是从没有安装Oracle或MySQL的计算机执行此操作,这意味着这些服务不会显示在可用服务的列表中。
我可以想到三个select:
在具有Oracle和MySQL的计算机上安装组策略pipe理控制台( gpmc.msc )。
如果您使用的是Windows XP / 2003,请下载并安装带有Service Pack 1的组策略pipe理控制台 。
如果您使用的是Windows Vista / 7,请下载并安装带有Service Pack 1(SP1)的Windows 7远程服务器pipe理工具 。
如果您使用Windows 2008 / 2008R2,请直接从服务器pipe理器添加function组策略pipe理function。
一旦安装了gpmc ,您可以在具有Oracle和MySQL的计算机上编辑GPO,您将看到列出的服务。
在您用来编辑GPO的计算机上创build一个虚拟服务。
find您想要更改的服务的ServiceKeyName 。 (这是服务的“短名称”。)如果您只知道DisplayName (“长名称”),而不知道ServiceKeyName (“短名称”),则可以在安装它的机器上find它,例如:
sc GetKeyName "MySQL Service"
在您用来编辑GPO的计算机上创build一个虚假的服务:
sc create ServiceKeyName binPath= C:\Windows\system32\notepad.exe
编辑GPO。
完成后,您可以通过以下方式删除假冒的服务:
sc delete ServiceKeyName
完全忘记GPO并直接在服务上设置权限。
首先,看看现有的权限是什么:
C:\Windows\system32> sc sdshow ServiceKeyName
d:(A ;; CCLCSWRPWPDTLOCRRC ;;; SY)(A ;; CCDCLCSWRPWPDTLOCRSDRCWDWO ;;; BA)(A ;; CCLCSWLOCRRC ;;; IU)(A ;; CCLCSWLOCRRC ;;; SU)(A ;; CCDCLCSWRPWPDTLOCRSDRCWDWO ;;; SO)S:(AU; FA; CCDCLCSWRPWPDTLOCRSDRCWDWO ;;; WD)
哎呀! 不是SDDL可怕吗? 无论如何,这里的想法是将我们需要的权限位添加到混乱中。 例如,您可以允许所有域用户通过添加以下内容来启动,停止,暂停和读取权限:
(A;;RPWPDTRC;;;DU)
或者对于本地用户(“内build用户”):
(A;;RPWPDTRC;;;BU)
所以最后的命令看起来像这样:
sc sdset ServiceKeyName D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SO) (A;;RPWPDTRC;;;BU) S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)
好吧,我撒谎,我在写这个的时候想到了更多的方法。 ;-)你可以使用subinacl.exe做一个简单的方法来做选项3.我不知道它是否与Windows XP / 2003以上的版本兼容。
使用如下命令:
subinacl /service ServiceKeyName /grant=Users=TOP
( TOP是sTart / stOp / Pause / continue的subinacl语法)
如果我误解了你的问题,请告诉我。