Account类型

本文介绍了在Windows服务中ServiceAccount类型的权限,包括LocalSystem、NetworkService和LocalService。这些账户类型拥有不同的系统访问权限,其中LocalSystem权限最高,然后依次是NetworkService和LocalService。设置为User账户时,需要提供用户名和密码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在看爬虫程序时,遇到了System.ServiceProcess.ServiceAccount.LocalSystem这样的代码,就查了查:

看了看在ServiecAccount中的定义

using System;

namespace System.ServiceProcess
{
    // 摘要:
    //     指定服务的安全上下文,安全上下文定义其登录类型。
    public enum ServiceAccount
    {
        // 摘要:
        //     充当本地计算机上非特权用户的帐户,该帐户将匿名凭据提供给所有远程服务器。
        LocalService = 0,
        //
        // 摘要:
        //     提供广泛的本地特权的帐户,该帐户将计算机的凭据提供给所有远程服务器。
        NetworkService = 1,
        //
        // 摘要:
        //     具有高特权级别的帐户。
        LocalSystem = 2,
        //
        // 摘要:
        //     由网络上特定的用户定义的帐户。如果为 System.ServiceProcess.ServiceProcessInstaller.Account
        //     成员指定 User,则会使系统在安装服务时提示输入有效的用户名和密码,除非您为 System.ServiceProcess.ServiceProcessInstaller
        //     实例的 System.ServiceProcess.ServiceProcessInstaller.Username 和 System.ServiceProcess.ServiceProcessInstaller.Password
        //     这两个属性设置值。
        User = 3,
    }
}
仍旧不甚理解。百度之。

当用户登录系统时,操作系统会验证他的密码。如果用户验证成功,系统会产生一个访问令牌,包含用户安全标示符(SID)、组SID列表、特权列表和模拟(Impersonating)信息等安全信息。我们可以把这个访问令牌理解为一个通行证,该用户启动任何进程时都将附加这个通行证(即访问令牌)。当用户想要启动或访问某一个受保护的进程时,系统会检查该用户的通行证,看看是否具备启动或访问权限。若通行证有此权限,则用户可以对进程进行操作,否则系统会拒绝该用户的请求。

而上面说到的四种Service Account类型就是具有不同权限的用户通行证。

按权限高低:LocalSystem>NetworkService>LocalService

当把用户账户类型设置为User,则需要为用户初始化用户名和密码,否则系统在安装服务时会提示输入有效的用户名和密码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值