组策略定义新的服务并将其安装在主服务器中

我有Active Directory与Windows Server 2003 64位。 我的一个用户问我是否有可能从启动 – >控制面板 – >服务启动和停止Oracle和MYSQL服务。 从那里他可以控制他们手动或自动启动,但现在他不能因为用户权限。

是否有可能在组策略中添加新服务,而不在Windows Server 2003上安装Oracle和MySQL?

所以为了确保我正确理解你

  • 用户有一台装有Oracle和MySQL的Windows机器。
  • 该用户不是本地计算机pipe理员。
  • 您希望该用户能够停止并启动Oracle和MySQL服务。

这听起来像您试图更改组策略中的服务权限,但是从没有安装Oracle或MySQL的计算机执行此操作,这意味着这些服务不会显示在可用服务的列表中。

我可以想到三个select:

  1. 在具有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,您将看到列出的服务。

  2. 在您用来编辑GPO的计算机上创build一个虚拟服务。

    1. find您想要更改的服务的ServiceKeyName 。 (这是服务的“短名称”。)如果您只知道DisplayName (“长名称”),而不知道ServiceKeyName (“短名称”),则可以在安装它的机器上find它,例如:

      sc GetKeyName "MySQL Service"

    2. 在您用来编辑GPO的计算机上创build一个虚假的服务:

      sc create ServiceKeyName binPath= C:\Windows\system32\notepad.exe

    3. 编辑GPO。

    4. 完成后,您可以通过以下方式删除假冒的服务:

      sc delete ServiceKeyName

  3. 完全忘记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)

  4. 好吧,我撒谎,我在写这个的时候想到了更多的方法。 ;-)你可以使用subinacl.exe做一个简单的方法来做选项3.我不知道它是否与Windows XP / 2003以上的版本兼容。

    1. 下载并安装SubInACL 。
    2. 使用如下命令:

      subinacl /service ServiceKeyName /grant=Users=TOP

      TOP是sTart / stOp / Pause / continue的subinacl语法)

如果我误解了你的问题,请告诉我。