2012-11-19 179 views
0

创建新的本地组帐户时可以指定SID吗?如何在创建本地组帐户时指定帐户SID?

我已成功建立使用NetLocalGroupAdd功能的新组通过指定信息的级别1(LOCALGROUP_INFO_1),但他的创建具有不同的SID每次组。这是我期待的。

我想要做的就是创建组帐户时指定的SID。不可能使用级别为3的NetLocalGroupAdd。所以我转移到NetGroupAdd。但是这个函数创建一个全局组而不是本地组。

有没有办法群创建后与期望的一个或者在创建组做这个或更新的SID。

+2

编号Windows本身生成SID,没有支持的方式来选择或更改它们。 (请注意,对于全局和本地组都是如此; NetGroupAdd忽略'grpi3_group_sid'。)你究竟在努力实现什么? –

回答

1

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

这是因为SID的结构是分层。例如,NT AUTHORITY下的所有SID都有前缀S-1-5,因为那是NT AUTHORITY的SID。 (例如NT AUTHORITY\SYSTEM是​​)您的计算机的LSA不允许发出不属于其权限的SID,该SID将是S-1-5-21<random number generated when Windows is installed> SID。

0

没有,OS提供的SID。其他标识符(如GUID)也是如此。一般来说。

有一个狭窄的类的情况下,其中调用者可以提供这些ID,像迁移期间可以写SID历史,或者如果在AD使用许可附加模式的GUID。但总的来说,除非你真的知道你在做什么,否则这些事情是不被接受的。

随着你为什么要这样,我们也许能够提出另一个路径的详细资料...