Active Directory 域控制器上的网络管理功能要求
如果在运行 Active Directory 的域控制器上调用本主题中列出的网络管理功能之一,则会根据对象的访问控制列表 (ACL) 允许或拒绝对安全对象的访问。 (ACL 在目录中指定。)
不同的访问要求适用于信息查询和信息更新。
查询
对于查询,默认 ACL 允许所有经过身份验证的用户和“Pre-Windows 2000 兼容访问”组的成员读取和枚举信息。 下面列出的函数将受到影响:
- NetGroupEnum、 NetGroupGetInfo、 NetGroupGetUsers
- NetLocalGroupEnum、 NetLocalGroupGetInfo、 NetLocalGroupGetMembers
- NetQueryDisplayInformation
- NetSessionGetInfo (级别 1 和 2 仅)
- NetShareEnum (级别 2 和 502 仅)
- NetUserEnum、 NetUserGetGroups、 NetUserGetInfo、 NetUserGetLocalGroups、 NetUserModalsGet
- NetWkstaGetInfo、 NetWkstaUserEnum
对组信息的匿名访问要求将用户匿名显式添加到“Windows 2000 之前的兼容访问”组。 这是因为匿名令牌不包括每个人组 SID。
Windows 2000: 默认情况下,“Windows 2000 之前的兼容访问”组将“每个人”作为成员。 如果系统允许匿名访问,这将启用匿名访问 (匿名登录) 信息。 管理员可以随时从“Pre-Windows 2000 Compatible Access”组中删除“每个人”。 从组中删除“所有人”将信息访问限制为经过身份验证的用户。 有关匿名访问的详细信息,请参阅 安全标识符 和 已知 SID。
可以通过将注册表中的以下项设置为值 1 来替代系统默认值:
\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LsaEveryoneIncludesAnonymous = 1
有关调用这两个函数时匿名访问组信息的其他信息,请参阅 NetWkstaGetInfo 和 NetWkstaUserEnum 。
更新
对于更新,默认 ACL 仅允许域管理员和帐户操作员写入信息。 一个例外是用户可以更改自己的密码并设置 usri*_usr_comment字段。 另一个例外是帐户操作员无法修改管理帐户。 下面列出的函数将受到影响:
- NetGroupAdd、 NetGroupAddUser、 NetGroupDel、 NetGroupDelUser、 NetGroupSetInfo、 NetGroupSetUsers
- NetLocalGroupAdd、 NetLocalGroupAddMembers、 NetLocalGroupDel、 NetLocalGroupDelMembers、 NetLocalGroupSetInfo、 NetLocalGroupSetMembers
- NetMessageBufferSend
- NetUserAdd、 NetUserChangePassword、 NetUserDel、 NetUserModalsSet、 NetUserSetGroups、 NetUserSetInfo
通常,调用方必须对整个 对象具有写入访问权限,才能成功调用 NetUserModalsSet、 NetUserSetInfo、 NetGroupSetInfo 和 NetLocalGroupSetInfo 。 为了进行精细的访问控制,应考虑使用 ADSI。 有关 ADSI 的详细信息,请参阅 Active Directory 服务接口。
有关控制对安全对象的访问的详细信息,请参阅访问控制、特权和安全对象。 有关调用需要管理员权限的函数的详细信息,请参阅 使用特殊特权运行。