加入收藏 | 设为首页 | 会员中心 | 我要投稿 南京站长网 (https://www.025zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

windows – 如何将服务的启动/停止/重新启动权限授予非域成员服

发布时间:2021-05-17 06:31:48 所属栏目:Windows 来源:网络整理
导读:我们的服务器上运行着一套 Windows服务,它们彼此独立地执行一系列自动化任务,但只有一项服务可以管理其他服务. 如果其中一个服务无法响应或挂起,则此服务会尝试重新启动服务,如果在尝试期间抛出异常,则会向支持团队发送电子邮件,以便他们可以自行重新启动

我们的服务器上运行着一套 Windows服务,它们彼此独立地执行一系列自动化任务,但只有一项服务可以管理其他服务.

如果其中一个服务无法响应或挂起,则此服务会尝试重新启动服务,如果在尝试期间抛出异常,则会向支持团队发送电子邮件,以便他们可以自行重新启动服务.

做了一些研究之后,我遇到了一些“解决方案”,其范围从KB907460中提到的解决方法到提供服务运行管理员权限的帐户.

我对这两种方法都不满意 – 我不明白Microsoft知识库文章中概述的第一种方法的后果,但我绝对不希望管理员访问运行该服务的帐户.

我已经快速浏览了本地安全策略,除了定义帐户是否可以作为服务登录的策略之外,我看不到任何看起来像服务的东西.

我们在Server 2003和Server 2008上运行它,所以任何想法或指针都会得到慷慨接受!

澄清:我不想授予启动/停止/重新启动给定用户或组的所有服务的能力 – 我希望能够仅授予给定用户或组的特定服务的权限.

进一步澄清:我需要授予这些权限的服务器不属于域 – 它们是两个面向互联网的服务器,它们接收文件,处理它们并将它们发送给第三方,以及服务几个网站,所以无法使用Active Directory组策略.对不起,我没有说清楚.

似乎没有基于GUI的方式来做到这一点,除非你加入了一个域 – 至少没有一个我可以在任何地方找到的 – 所以我做了一些挖掘,我找到了一个适用于我们的坐姿.

我不明白知识库文章中字符串表示的含义,但进行一些挖掘让我发现它是SDDL语法.进一步的挖掘使我得到了this article by Alun Jones,它解释了如何获得服务的安全描述符以及每个位的含义. MS KB914392有更多细节.

要附加到服务的现有安全描述符,请使用sc sdshow“Service Name”获取现有描述符.如果这是一个普通的旧.NET Windows服务 – 就像我们的情况一样 – 安全描述符应如下所示:

D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOC
RRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;CR;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)S:(AU;FA
;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)

我们需要授予权限RP(启动服务),WP(停止服务),DT(暂停/继续服务)和LO(查询服务的当前状态).这可以通过将我们的服务帐户添加到Power Users组来完成,但我只想授予对运行维护服务的帐户的单独访问权限.

使用runas在服务帐户下打开命令提示符,我运行了whoami / all,它给了我服务帐户的SID,然后构建了下面的附加SDDL:

(A;;RPWPDTLO;;;S-x-x-xx-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxx-xxxx)

然后将其添加到上面SDDL字符串的D:部分:

D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOC
RRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;CR;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)(A;;RPWP
DTLO;;;S-x-x-xx-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxx-xxxx)S:(AU;FA;CCDCLCSWRPWPDTLOC
RSDRCWDWO;;;WD)

然后使用sc sdset命令将其应用于服务:

sc sdset "Service Name" D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;
CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;CR;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU
)(A;;RPWPDTLO;;;S-x-x-xx-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxx-xxxx)S:(AU;FA;CCDCLCSW
RPWPDTLOCRSDRCWDWO;;;WD)

如果一切按计划进行,则可以启动,停止,暂停服务,并由上面的SID定义的用户查询其状态.

(编辑:南京站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读