0

创建新的本地组帐户时是否可以指定 SID?

我已经通过指定信息级别 1 (LOCALGROUP_INFO_1) 使用NetLocalGroupAdd函数成功创建了一个新组,但他每次都使用不同的 SID 创建组。我预料到的这种行为。

我想做的是在创建组帐户时指定 SID。无法使用级别 3 的 NetLocalGroupAdd 。所以我转而查看NetGroupAdd。但是这个函数创建了一个全局组而不是一个本地组。

有没有办法在创建组期间执行此操作,或者在创建组后使用所需的 SID 更新 SID。

4

2 回答 2

2

你不能那样做。在您的特定机器上生成的任何 SID 都会颁发给该机器的本地安全机构。(好的,或者如果您在谈论域控制器,则为域安全机构)这意味着,它将始终具有
S-1-5-21<the machine LSA SID>-<random local identifier of the user/group>.

This is because the structure of a SID is hierarchical. For instance, all SIDs under NT AUTHORITY have the prefix S-1-5, because that is NT AUTHORITY's SID. (e.g. NT AUTHORITY\SYSTEM is S-1-5-18) Your machine's LSA isn't allowed to issue a SID that doesn't belong under its authority, which is going to be the S-1-5-21<random number generated when Windows is installed> SID.

于 2012-11-20T08:22:39.000 回答
0

不,操作系统提供 SID。其他标识符(如 GUID)也是如此。一般来说。

在少数情况下,调用者可以提供这些 ID,例如在迁移期间您可以编写 SIDHistory,或者如果您在 AD 中对 GUID 使用许可添加模式。但一般来说,除非你真的知道自己在做什么,否则这些事情是不受欢迎的。

有了更多关于你为什么想要这个的数据,我们也许可以建议另一条路径......

于 2012-11-20T01:58:29.607 回答