设置Windows服务的访问权限
作者:beyond
默认情况下,只有管理员组成员、LocalSystem和Power Users组成员帐户才有权启动、停止服务。为了让普通用户也可以控制该服务,我们可以手动设置其访问权限。可能有些初学者会感到奇怪,怎么服务也可以设置权限?其实在Windows系统里,不仅可以对文件夹设置权限,还可以对注册表、打印机和服务等系统资源进行权限设置。然而对服务进行权限设置,没有对文件夹进行权限设置那么直观,需要借助以下两种方法:
安全配置和分析
(1)以管理员身份登录系统,在运行对话框里输入mmc并回车打开控制台窗口,然后添加“安全配置和分析”管理单元。
(2)鼠标右键单击新添加的“安全配置和分析”管理单元,单击弹出菜单上的“打开数据库”菜单项,在打开的对话框里指定新建的安全数据库名称,例如可以是SrvACL,然后单击“打开”按钮。
(3)在随之打开的对话框上选择系统内置的安全模板文件,例如可以选择“setup security”模板。
(4)鼠标右键单击“安全配置和分析”管理单元,单击弹出菜单上的“立即分析计算机”菜单项,在弹出对话框上单击“确定”按钮即可开始分析当前计算机的安全配置。
(5)分析结束以后,单击左侧控制台树里的“系统服务”节点,在右侧的详细窗格里双击所需设置的服务名(本例是App Service)。
(6)在打开的属性对话框上勾选“在数据库中定义这个策略”复选框,然后单击“编辑安全设置”按钮。
(7)在打开的安全设置对话框上添加Users用户,然后确保勾选“启动停止和暂停”权限右侧的“允许”复选框,如图下所示。

(8)依次单击所有打开对话框上的“确定”按钮,然后鼠标右键单击“安全配置和分析”管理单元,单击弹出菜单上的“立即配置计算机”菜单项,即可用刚才定义的权限设置配置系统。
Subinacl命令工具
还可以借助Subinacl命令工具方便地查看和设置服务的权限配置,到以下微软官方网站下载其最新版本:
http://www.microsoft.com/downloads/details.aspx?FamilyId=E8BA3E56-D8FE-4A91-93CF-ED6985E3927B&displaylang=en
(1)以管理员身份登录系统,打开命令提示符窗口。
(2)在命令提示符下输入以下命令:
subinacl /service AppSrv /grant=users=top
要注意,subinacl只能接收服务名(ServiceName),而不是显示名称(DisplayName)。命令参数“grant=users=top”表示给Users组帐户赋予“启动、停止和暂停”AppSrv服务的权限,“top”中的t代表start(启动)权限、o代表stop(停止)权限、p代表pause(中止/继续)权限。
(3)接下来可以运行以下命令,查看AppSrv服务的权限设置:
subinacl /verbose=2 /service AppSrv /display=dacl
命令结果类似如下所示:
====================
+Service AppSrv
====================
/perm. ace count =5
/pace =builtin\administrators ACCESS_ALLOWED_ACE_TYPE-0x0
SERVICE_ALL_ACCESS
……
/pace =builtin\users ACCESS_ALLOWED_ACE_TYPE-0x0
SERVICE_START-0x10 SERVICE_STOP-0x20 SERVICE_PAUSE_CONTINUE-0x40
注意 服务的登录身份指定了服务能够以多大的权限访问系统资源,而服务的访问权限则指定用户能够以多大权限控制该服务。
http://caizhixin75.blog.163.com/blog/static/1835107120071171136765/
设置Windows服务的访问权限的更多相关文章
- arcgis server账号需要设置地图缓存的访问权限
如果gis服务起不来,那么可以看看arcgis server账号有没有设置地图缓存的访问权限,有可能arcgis server账号没有这个文件夹的访问权限. 本文用菊子曰发布
- windows service 之访问权限(有NetworkService和LocalSystem的区分)
最近写了一个关于从局域网的算机上下载文件的winodws service,最初认为应该没什么大的问题.通过本地的调试也没发现问题.但是当我把程序发布后发现服务报错“访问路径被拒绝”,我的第一感觉,肯定 ...
- Windows服务(system权限)程序显示界面与用户交互,Session0通知Session1里弹出对话框(真的很牛) good
源码资源下载:http://download.csdn.net/detail/stony1980/4512984 1.VC2008中编写“Windows服务”(Windows Service)程序 ...
- 设置windows服务依赖项
场景还原:python2.7开发的项目,制作成了windows服务,随系统启动.系统重启后发现服务未能自动启动,检查事件查看器日志发现服务先于Mysql数据库服务启动,由于服务中必须对MySQL进行访 ...
- Linux设置SFTP服务用户目录权限
我们有时会遇到这样的需求,限制一个Linux用户,让他只能在指定的目录下进行添加.修改.删除操作,并且只能使用sftp登录服务器,不能用ssh操作.这些可以通过配置sftp服务实现. 提供sftp服务 ...
- 对于windows操作系统磁盘访问权限修改的手残教训
最近公司新配置的win10电脑,由于测试关于windows系统上项目的安装程序时默认使用了c盘安装,发现安装后的项目不是崩溃就是运行没结果的,偶然间发现同一个安装程序在d盘或其他非系统盘安装则正常.很 ...
- 通过Forms身份验证设置不同页面的访问权限
使用Forms身份验证的时候,如果允许注册页面可以匿名用户访问,其他所有页面只允许注册用户访问,我们可以如下设置web.config文件来达到上述的效果: 1.在“system.web”节点下,添加登 ...
- Linux - 设置SFTP服务用户目录权限
我们有时会遇到这样的需求,限制一个Linux用户,让他只能在指定的目录下进行添加.修改.删除操作,并且只能使用sftp登录服务器,不能用ssh操作.这些可以通过配置sftp服务实现. 创建新用户www ...
- 解决Windows服务无法访问网络映射盘的问题
下载工具psexec 下载地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/psexec 百度地址:https://pan.baid ...
随机推荐
- 高并发场景之RabbitMQ
高并发场景之RabbitMQ 上次我们介绍了在单机.集群下高并发场景可以选择的一些方案,传送门:高并发场景之一般解决方案 但是也发现了一些问题,比如集群下使用ConcurrentQueue或加锁都不能 ...
- qmake生成vcproj & sln
qmake生成的vs工程与环境变量中的 qmakespec相关,可以有两种方法: 1.默认情况下,即环境变量qmakespec为你装的qt for vs的版本,默认生成的为该版本的vs工程,如,你装的 ...
- jquer表单序列化加强版
相同name值会转化为一个数组 $.fn.serializeObject = function(){ var o = {}; var a = this.serializeArray(); $.each ...
- 计算广告(computational advertising)
计算广告学是一门由信息科学.统计学.计算机科学以及微观经济学等学科交叉融合的新兴分支学科. 1. 课程与资源 Andrei Broder:美国工程院院士,计算广告概念的提出者: MS&E 23 ...
- matlab 矢量化编程(四)—— 标量函数转化为能够处理矢量的函数
1. 组合的矢量实现 nchoosek(n, k) 的第二个参数在 matlab 下是不支持矢量化的,必须是标量形式.但 matlab 下的 gamma 函数,却可支持,矢量形式,又因为,gamma ...
- codeforces Round #259(div2) D解决报告
D. Little Pony and Harmony Chest time limit per test 4 seconds memory limit per test 256 megabytes i ...
- Tab选项卡界面(1)
Tab用一个简单的应用程序接口的标签是集中的界面布局文件的同一页上的接口组件不同的标签.并计划将在主类集中的代码文件.这种方法的优点是,文件在项目数不会被添加,但是,假设Tab接口组件更个性化的标签. ...
- 使用WPF技术模拟手机界面
原文:使用WPF技术模拟手机界面 1. 前言 WPF(Windows Presentation Foundation),即"Windows呈现基础",它的目的非常明确,就是用来把数 ...
- Jenkins build失败条件
在Jenkins 项目写了很多剧本.有时候,我发现脚本失败,但Jenkins运行成功. Jenkins无论是通过退出代码0比量build成功. 因此,newLISP在.您可以使用(exit)对于成功. ...
- 经典c开源项目
1. Webbench Webbench是一个在Linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连 ...