Windows服务简介(转)

2 篇文章 0 订阅

时间:2005-02-04 09:30 来源:网管之家bitsCN.com 字体:[大 中 小] 评论:0
Windows服务简介
服务控制管理器拥有一个在注册表中记录的数据库,包含了所有已安装的服务程序和设备驱动服务程序的相关信息。它允许系统管理员为每个服务自定义安全要求和控制访问权限。Windows服务包括四大部分:服务控制管理器(Service Control Manager),服务控制程序(Service Control Program),服务程序(Service Program)和服务配置程序(Service Configuration Program)。

1.服务控制管理器(SCM)
服务控制管理器在系统启动的早期由Winlogon进程启动,可执行文件名是“Admin$\System32\Services.exe”,它是系统中的一个RPC服务器,因此服务配置程序和服务控制程序可以在远程操纵服务。它包括以下几方面的信息:
已安装服务数据库:服务控制管理器在注册表中拥有一个已安装服务的数据库,它在服务控制管理器和程序添加,删除,配置服务程序时使用,在注册表中数据库的位置为:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services。它包括很多子键,每个子键的名字就代表一个对应的服务。数据库中包括:服务类型(私有进程,共享进程),启动类型(自动运行,由服务控制管理器启动,无效),错误类型(忽略,常规错误,服务错误,关键错误),执行文件路径,依赖信息选项,可选用户名与密码。
自动启动服务:系统启动时,服务控制管理器启动所有“自启”服务和相关依赖服务。服务的加载顺序:顺序装载组列表:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ServiceGroupOrder;指定组列表:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GroupOrderList;每个服务所依赖的服务程序。在系统成功引导后会保留一份LKG(Last-Know-Good)的配置信息位于:HKEY_LOCAL_MACHINE\SYSTEM\ControlSetXXX\Services。
因要求而启动服务:用户可以使用服务控制面板程序来启动一项服务。服务控制程序也可以使用StartService来启动服务。服务控制管理器会进行下面的操作:获取帐户信息,登录服务项目,创建服务为悬挂状态,分配登录令牌给进程,允许进程执行。
服务记录列表:每项服务在数据库中都包含了下面的内容:服务名称,开始类型,服务状态(类型,当前状态,接受控制代码,退出代码,等待提示),依赖服务列表指针。
服务控制管理器句柄:服务控制管理器支持句柄类型访问以下对象:已安装服务数据库,服务程序,数据库的锁开状态。

2.服务控制程序(SCP)
服务控制程序可以执行对服务程序的开启,控制和状态查询功能:
开启服务:如果服务的开启类型为SERVICE_DEMAND_START,就可以用服务控制程序来开始一项服务。在开始服务的初始化阶段服务的当前状态为:SERVICE_START_PENDING,而在初始化完成后的状态就是:SERVICE_RUNNING。
向正在运行的服务发送控制请求:控制请求可以是系统默认的,也可以是用户自定义的。标准控制代码如下:停止服务(SERVICE_CONTROL_STOP),暂停服务(SERVICE_CONTROL_PAUSE),恢复已暂停服务(SERVICE_CONTROL_CONTINUE),获得更新信息(SERVICE_CONTROL_INTERROGATE)。

3.服务程序
一个服务程序可能拥有一个或多个服务的执行代码。我们可以创建类型为SERVICE_WIN32_OWN_PROCESS的只拥有一个服务的服务程序。而类型为SERVICE_WIN32_SHARE_PROCESS的服务程序却可以包含多个服务的执行代码。详情参见后面的Windows服务与编程。

4.服务配置程序
编程人员和系统管理员可以使用服务配置程序来更改,查询已安装服务的信息。当然也可以通过注册表函数来访问相关资源。
服务的安装,删除和列举:我们可以使用相关的系统函数来创建,删除服务和查询所有服务的当前状态。
服务配置:系统管理员通过服务配置程序来控制服务的启动类型,显示名称和相关描述信息。
------------------
ObjectName REG_SZ LocalSystem
改这里可以实现指定用户
因为LOCALSYSTEM是最高级的权限,所以没有提到其他权限选项.

下面是关于系统服务的简单描述
服务仅在登录到某一帐户的情况下才能访问操作系统中的资源和对象。大多数的服务都不更改默认的登录帐户。更改默认帐户可能导致服务失败。如果选定帐户没有登录服务的权限,Microsoft 管理控制台 (MMC) 的服务管理单元将自动为该帐户授予登录所管理计算机中服务的用户权限。但这并不保证启动服务。Windows 包括三个内置的本地帐户,分别用作各系统服务的登录帐户:

本地系统帐户:本地系统帐户功能强大,它可对系统进行完全访问,并作为网络中的计算机工作。如果某服务登录到域控制器的“本地系统”帐户,则该服务可访问整个域。有些服务的默认配置是登录到“本地系统”帐户。不要更改默认服务设置。帐户名称是 LocalSystem。该帐户没有密码。

本地服务帐户:本地服务帐户是一种特殊的内置帐户,类似于经身份验证的用户帐户。就访问的资源的对象而言,“本地服务”帐户与“Users”(用户)组成员权限等同。这种限制性访问有助于在个别服务或进程受损时保障系统安全。以“本地服务”帐户运行的服务使用有匿名凭据的空会话来访问网络资源。帐户名称是 NT AUTHORITY\LocalService。该帐户没有密码。

网络服务帐户:网络服务帐户也是一种特殊的内置帐户,类似于经身份验证的用户帐户。就访问的资源的对象而言,“网络服务”帐户与“Users”(用户)组成员权限等同。这种限制性访问有助于在个别服务或进程受损时保障系统安全。以“网络服务”帐户运行的服务可使用计算机帐户的凭据来访问网络资源。帐户名称是 NT AUTHORITY\NetworkService。该帐户没有密码。

 

如果更改默认服务设置,重要的服务可能无法正常运行。最重要的是,更改启动类型一定要谨慎,要使用配置了自动启动服务的设置来登录。

转自:http://www.bitscn.com/plus/view.php?aid=45450

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值