【Windows 访问控制】八、安全主体和安全对象-security principal和Securable Objects

安全主体(security principal)?

 

安全主体是任何可通过操作系统进行身份验证的实体,例如用户帐户计算机帐户、在用户或计算机帐户的安全上下文中运行的线程进程,或者这些帐户的安全组。 安全主体一直是控制对计算机中安全资源Windows的基础。 每个安全主体在操作系统中由 SID (唯一) 。

个人理解:就用户登入后,系统分配给线程一个权限。这个权限(principal:政策)用与访问系统资源。简单地将安全主体表示成:身份(登入验证成功后获得一个sid) + 角色(sid所在组的权限)。

C#代码      Thread.CurrentPrincipal = new GenericPrincipal(new GenericIdentity(UserName),null);

 

来源:docs.microsoft.com

身份验证 |认证(Authentication)

身份验证是验证对象或人员身份的过程。 当你对某个对象进行身份验证时,目的就在于验证该对象是否为正版。 当你对某个用户进行身份验证时,其目标是验证该用户是否不是冒名顶替者。  因此,身份验证不能保证对资源的访问权限,也不能授权使用资源。

在网络环境中,身份验证是向网络应用程序或资源证明身份的行为。

 

来源:docs.microsoft.com

个人理解:登入操纵系统、服务器、应用软件的过程就是身份验证的过程,登入成功就是验证成功。

计算机帐户:加入域服务器的计算机,在域服务器中会生成一个账户就叫计算机帐户

用户帐户:每个安全主体都分配有一个唯一标识符,它将在其整个生命周期内保留。 本地用户帐户和安全组是在本地计算机上创建的,它们可用于管理对该计算机上资源的访问权限。 本地用户帐户和安全组由本地计算机上安全帐户管理器 (SAM) 管理。

 

window内置的安全主体:

虽然内置安全主体有很多,但正常能在权限设置中使用到的并不多,所以下面仅说明其中几个较重要的:
①Anonymous Logon:任何没有经过Windows XP验证程序(Authentication),而以匿名方式登录域的用户均属于此组;
②Authenticated Users:与前项相反,所有经过Windows XP验证程序登录的用户均属于此组。设置权限和用户权力时,可考虑用此项代替Everyone组;
③BATCH:这个组包含任何访问这台计算机批处理程序(Batch Process);
④DIALUP:任何通过拨号网络登录的用户;
⑤Everyone:指所有经验证登录的用户及来宾(Guest);
⑥Network:任何通过网络登录的用户;
⑦Interactive:指任何直接登录本机的用户;
⑧Terminal server user:指任何通过终端服务登录的用户。

安全对象(Securable Objects)

具有安全描述符的对象就是安全对象。window上的安全对象有:NTFS 文件系统上的文件或目录\命名管道  匿名管道\进程 线程\文件映射对象\本地或远程打印机\网络共享

知识点:https://docs.microsoft.com/zh-cn/windows/win32/secauthz/securable-objects

 

Windows具体有哪些安全对象?

  • 进程
  • 线程
  • 文件
  • 服务
  • 计划任务
  • 互斥体
  • 管道
  • 油槽
  • 文件共享
  • 访问令牌
  • 注册表
  • 打印机
  • 作业
posted @ 2021-12-02 17:50  小林野夫  阅读(763)  评论(0编辑  收藏  举报
原文链接:https://www.cnblogs.com/cdaniu/