作者: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服务的访问权限的更多相关文章

  1. arcgis server账号需要设置地图缓存的访问权限

    如果gis服务起不来,那么可以看看arcgis server账号有没有设置地图缓存的访问权限,有可能arcgis server账号没有这个文件夹的访问权限.  本文用菊子曰发布

  2. windows service 之访问权限(有NetworkService和LocalSystem的区分)

    最近写了一个关于从局域网的算机上下载文件的winodws service,最初认为应该没什么大的问题.通过本地的调试也没发现问题.但是当我把程序发布后发现服务报错“访问路径被拒绝”,我的第一感觉,肯定 ...

  3. Windows服务(system权限)程序显示界面与用户交互,Session0通知Session1里弹出对话框(真的很牛) good

    源码资源下载:http://download.csdn.net/detail/stony1980/4512984   1.VC2008中编写“Windows服务”(Windows Service)程序 ...

  4. 设置windows服务依赖项

    场景还原:python2.7开发的项目,制作成了windows服务,随系统启动.系统重启后发现服务未能自动启动,检查事件查看器日志发现服务先于Mysql数据库服务启动,由于服务中必须对MySQL进行访 ...

  5. Linux设置SFTP服务用户目录权限

    我们有时会遇到这样的需求,限制一个Linux用户,让他只能在指定的目录下进行添加.修改.删除操作,并且只能使用sftp登录服务器,不能用ssh操作.这些可以通过配置sftp服务实现. 提供sftp服务 ...

  6. 对于windows操作系统磁盘访问权限修改的手残教训

    最近公司新配置的win10电脑,由于测试关于windows系统上项目的安装程序时默认使用了c盘安装,发现安装后的项目不是崩溃就是运行没结果的,偶然间发现同一个安装程序在d盘或其他非系统盘安装则正常.很 ...

  7. 通过Forms身份验证设置不同页面的访问权限

    使用Forms身份验证的时候,如果允许注册页面可以匿名用户访问,其他所有页面只允许注册用户访问,我们可以如下设置web.config文件来达到上述的效果: 1.在“system.web”节点下,添加登 ...

  8. Linux - 设置SFTP服务用户目录权限

    我们有时会遇到这样的需求,限制一个Linux用户,让他只能在指定的目录下进行添加.修改.删除操作,并且只能使用sftp登录服务器,不能用ssh操作.这些可以通过配置sftp服务实现. 创建新用户www ...

  9. 解决Windows服务无法访问网络映射盘的问题

    下载工具psexec 下载地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/psexec 百度地址:https://pan.baid ...

随机推荐

  1. Spring处理跨域请求

    [nio-8080-exec-8] o.s.web.cors.DefaultCorsProcessor        : Skip CORS processing: request is from s ...

  2. 设置npm淘宝镜像

    npm config set registry https://registry.npm.taobao.org

  3. .NET/C# 使窗口永不激活(No Activate 永不获得焦点)

    原文 .NET/C# 使窗口永不激活(No Activate 永不获得焦点) 有些窗口天生就是为了辅助其它程序而使用的,典型的如“输入法窗口”.这些窗口不希望抢夺其它窗口的焦点. 有 Win32 方法 ...

  4. OpenGL(一)绘制圆、五角星、正弦曲线

    OpenGL入门之"顶点":OpenGL规定,一个多边形必须是一个"凸多边形",即连接多边形上任意两点,其连线都在多边形内部.多边形可以由其边上的端点(这里可称 ...

  5. device platform 相应的表

    hw.machine 这个值相应相关代码最好在后台管理,降低手机端代码更新次数 if ([platform isEqualToString:@"iPhone1,1"]) retur ...

  6. Delphi 接口使用中,对象生命周期管理,如何释放需要注意的问题

    网上有篇文章<Delphi接口编程的两大陷阱>,里面提到接口的生存期管理的问题.但该文章里面提到的两个问题,其实都是对 Delphi 不理解导致的.   先说该篇文章中提到的第一个问题为什 ...

  7. jquery通过索引获取元素

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  8. Java Socket 爬虫

    # 地址 https://github.com/mofadeyunduo/crawler # 前言 1.代码不断优化更新. 2.有建议请留言. # 介绍 1.多线程,基于 ExcutorServcie ...

  9. glibc_error reporting

    很多GNU C库里的函数都会侦测并报告错误条件.我们的程序需要检测这些错误条件.比如:我们打开一个输入文件时需要判断该文件是否正确的打开.如果没有正确打开,我们需要打印错误或者采取其他正确的方式.为了 ...

  10. c#通过datatable导出excel和word

    /// <summary> /// 导出datatable到word /// </summary> /// <param name="dg">需 ...