ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Windows中的SID(Security Identifiers)是什么

2021-11-20 04:03:04  阅读:387  来源: 互联网

标签:帐户 Windows 32 Identifiers 用户 BUILTIN SID Security NT


  SID也就是安全标识符(Security Identifiers),是标识用户、组和计算机帐户的唯一的号码。在第一次创建该帐户时,将给网络上的每一个帐户发布一个唯一的 SID。Windows 2000 中的内部进程将引用帐户的 SID 而不是帐户的用户或组名。如果创建帐户,再删除帐户,然后使用相同的用户名创建另一个帐户,则新帐户将不具有授权给前一个帐户的权力或权限,原因是该帐户具有不同的 SID 号。安全标识符也被称为安全 ID 或 SID。  


SID的作用

   用户通过验证后,登陆进程会给用户一个访问令牌,该令牌相当于用户访问系统资源的票证,当用户试图访问系统资源时,将访问令牌提供给 Windows NT,然后 Windows NT 检查用户试图访问对象上的访问控制列表。如果用户被允许访问该对象,Windows NT将会分配给用户适当的访问权限。访问令牌是用户在通过验证的时候有登陆进程所提供的,所以改变用户的权限需要注销后重新登陆,重新获取访问令牌。  


SID号码的组成 

     如果存在两个同样SID的用户,这两个帐户将被鉴别为同一个帐户,原理上如果帐户无限制增加的时候,会产生同样的SID,在通常的情况下SID是唯一的,他由计算机名、当前时间、当前用户态线程的CPU耗费时间的总和三个参数决定以保证它的唯一性。  
一个完整的SID包括:

 • 用户和组的安全描述

 • 48-bit的ID authority

 • 修订版本

 • 可变的验证值Variable sub-authority values 


例:S-1-5-21-310440588-250036847-580389505-500 

我们来先分析这个重要的SID。第一项S表示该字符串是SID;第二项是SID的版本号,对于2000来说,这个就是 
1;然后是标志符的颁发机构(identifier authority),对于2000内的帐户,颁发机构就是NT,值是5。然后表示一系列的子颁发机构,前面几项是标志域的,最后一个标志着域内的帐户和组。

vs2022 C# 10 .net6.0环境吓获取SID:

 

要引用命名空间 System.Security.Principal;
WindowsIdentity currentUser = WindowsIdentity.GetCurrent();
string sid = currentUser.User.ToString();
输出:S-1-5-21-1652012128-631332258-3476023946-1001

或者cmd 命令行输入 :whoami /user

下面是SID末尾RID值的列表,括号内为16进制:

 Built-In Users 

DOMAINNAME\ADMINISTRATOR 

S-1-5-21-917267712-1342860078-1792151419-500 (=0x1F4) 

DOMAINNAME\GUEST 

S-1-5-21-917267712-1342860078-1792151419-501 (=0x1F5)

 

Built-In Global Groups,

DOMAINNAME\DOMAIN ADMINS
S-1-5-21-917267712-1342860078-1792151419-512 (=0x200)
 DOMAINNAME\DOMAIN USERS
S-1-5-21-917267712-1342860078-1792151419-513 (=0x201)
 DOMAINNAME\DOMAIN GUESTS
S-1-5-21-917267712-1342860078-1792151419-514 (=0x202)

 

Built-In Local Groups 

BUILTIN\ADMINISTRATORS 

S-1-5-32-544 (=0x220)

 BUILTIN\USERS 

S-1-5-32-545 (=0x221)

 BUILTIN\GUESTS 

S-1-5-32-546 (=0x222) 

BUILTIN\ACCOUNT OPERATORS 

S-1-5-32-548 (=0x224) 

BUILTIN\SERVER OPERATORS 

S-1-5-32-549 (=0x225)

 BUILTIN\PRINT OPERATORS 

S-1-5-32-550 (=0x226)

BUILTIN\BACKUP OPERATORS 

S-1-5-32-551 (=0x227) 

BUILTIN\REPLICATOR 

S-1-5-32-552 (=0x228)

 

Special Groups 

\CREATOR OWNER 

S-1-3-0+ A1 

 \EVERYONE 

S-1-1-0 

NT AUTHORITY\NETWORK 

S-1-5-2 

NT AUTHORITY\INTERACTIVE 

S-1-5-42

 NT AUTHORITY\SYSTEM 

S-1-5-185 

NT AUTHORITY\authenticated users 

S-1-5-11

 

 参考:https://rootclay.gitbook.io/windows-access-control/qi-an-quan-biao-shi-fu

标签:帐户,Windows,32,Identifiers,用户,BUILTIN,SID,Security,NT
来源: https://www.cnblogs.com/cdaniu/p/15580042.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有