• 关于SID


    最近研究系统封装部署,关于SID一直不明白,搜索了一些说的语焉不详,所以在微软官网搜索SID相关内容,在此做一些记录。

    SID意义

    Windows 使用 SID 不仅表示计算机,还表示所有安全主体。 安全主体包括计算机、用户、工作组,域计算机帐户、用户和安全组。
    如果计算机已加入域,则域SID 将发挥作用。计算机仍然具有自己的计算机 SID即计算机存在两个SID。但它也是域的成员,因此它有一个 SID 表示其在该域中的计算机帐户。
    计算机SID在系统安装时生成(生成算法?),因此在克隆系统时会存在重复SID情况;但是域SID不会重复,因为域SID由域控制器管理、颁发,域控制器保证了SID不会存在重复的情况。

    SID查询

    您可以使用 Sysinternals PsGetSid 工具查看计算机的 SID,方法是在没有命令行参数的情况下运行:PsGetSid
    也可以查询用户SID,在命令行内输入:PsGetSid Administrator
    通过查询计算机及用户SID发现,两个SID非常相似,这是因为Windows在生成计算机SID后不再为用户生成唯一的SID,而是在计算机SID基础上添加RID( relative identifier),内置管理员RID为500,本地用户从1000开始。
    其他方式1-SID注册表查询:
    用户SID:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList依次选择每个SID,查看ProfileImagePath的值,末尾为用户名
    计算机SID:HKLM:\security\sam\domains\account(一般为隐藏的)
    其他方式2-命令行查询:
    运行CMD,输入:whoami /user

    SID格式

    S-1-5-21-2164708889-1276752680-3758379762-1004
    S:表示该字符串为SID
    1:Revision,表示SID版本,
    5:IdentifierAuthority,表示SID颁发机构,5-NT Authority
    21:域ID
    2164708889-1276752680-3758379762:长度为3的32位随机数数组,唯一标识域
    1004:RID,表示域中唯一对象的ID

    参考文章: The Machine SID Duplication Myth (and Why Sysprep Matters)
    参考文章: Machine SIDs and Domain SIDs
    参考文章: Docs Windows Security
    Security identifiers

    参考文章: Well-Known SID Structures

  • 相关阅读:
    解决Qt5.13.0无MySQL驱动问题
    【Linux】七、基础IO
    电脑带不动虚幻引擎渲染卡顿怎么办?本文给你支招
    GPO:组策略与系统配置
    mysql源码分析——聚簇索引
    类加载器 - 双亲委派模型
    MySQL中的大表优化方案
    Spring
    maven通过maven repository添加依赖包
    蚁群算法ACO求解连续函数问题
  • 原文地址:https://blog.csdn.net/China_XXX/article/details/125479552