组的概念及作用域

组是具有安全标识符(SID)的安全主体,通过组的member属性,即可包含其他安全主体(用户、计算机和其他组),以实现更简单的管理。这里一定不要和OU搞混淆了,OU是没有SID的,所以不能用于资源权限的分配。

组作用域

本域的成员

林内的成员

信任的外部域的成员

可以被赋予权限范围

本地组

用户、计算机、全局组、通用组、本地域组和本地组所在计算机上定义的其他本地用户 用户、计算机、全局组、通用组 用户、计算机、全局组 只能在本地计算机

本地域组

用户、计算机、全局组、通用组、本地域组 用户、计算机、全局组、通用组 用户、计算机、全局组 本域内

通用组

用户、计算机、全局组、通用组 用户、计算机、全局组、通用组 不适用 林内

全局组

用户、计算机、全局组 不使用 不适用 在域内或信任域

组的类型

通讯组

  • 只用于电子邮件的应用

  • 没有SID,不能被赋予权限

安全组

  • 拥有SID的安全主体,可以被赋予权限

  • 可以用于电子邮件应用

转换组作用域和类型

如果需要更改组的类型,也是可以实现的。直接在组的属性中就可以进行修改。但是需要注意:将组由安全组转换为通讯组时,针对该组分配的人和资源访问权限都将彻底丢失。

可以进行组的作用域转换的类型如下:

  • 全局组到通用组

  • 本地域组到通用组

  • 通用组到全局组

  • 通用组到本地组

使用命令修改组的方法:

dsmodgroupDN–secgrp{yes|no}–scope{l|g|u}

groupDN:组的可分辨名称,如:“cn=groupname,ou=xxx,dc=contoso,dc=com”

–secgrp{yes|no}:决定组的类型:安全组(yes)或通讯组(no)

–scope{l|g|u}:决定租的作用域:本地域(l)、全局(g)或通用(u)

创建组

1.除了直接在图形界面直接创建组,还可以使用命令创建组或批量创建组。

使用dsadd创建组示例:dsaddgroup“cn=IT,ou=groups,ou=long,dc=lab,dc=com”–secgrpyes–scopeg。secgrp和scope参数可以参考上面介绍。

2.使用CSVDE批量导入组。在excel中创建好需要导入组的信息,保存成.csv格式文件。然后使用CSVDE进行导入。

csvde–i–fd:\groupinfo.csv–k

LDIFDE也可以实现批量导入组,与前面介绍导入用户的方法一样。这里就不再作介绍,有兴趣的话可以自己尝试一下。

3.使用dsmod更组成员

dsmod命令语法:

dsmodgroup”groupDN“-addmbr“MemberDN”添加组成员

dsmodgroup”groupDN“-rmmbr“MemberDN”删除组成员

增加组成员示例:dsmodgroup“cn=IT,ou=groups,ou=long,dc=lab,dc=com”–addmbr“cn=test1,ou=it,ou=long,dc=lab,dc=com”

4.使用dsget查询组的成员关系

dsget命令可以检索组成员关系的完整列表,包括嵌套组成员。语法如下:

dsgetgroup“groupDN”-members

示例:dsgetgroup“cn=it,ou=groups,ou=long,dc=lab,dc=com”-members

5.使用Powershell创建组

使用New-ADGroup命令可以创建组,语法如下:

New-ADGroup[-Name]<string>[-GroupScope]<ADGroupScope>{DomainLocal|Global|Universal}[-WhatIf][-Confirm][

-AuthType<ADAuthType>{Negotiate|Basic}][-Credential<pscredential>][-Description<string>][-DisplayName<str
ing>][-GroupCategory<ADGroupCategory>{Distribution|Security}][-HomePage<string>][-Instance<ADGroup>][-Man
agedBy<ADPrincipal>][-OtherAttributes<hashtable>][-PassThru][-Path<string>][-SamAccountName<string>][-Serv
er<string>][<CommonParameters>]

创建单个组示例:

New-ADGroup-NameAccounting-GroupScopeGlobal-GroupCategorySecurity–Path“ou=groups,ou=long,dc=lab,dc=com"

使用Powershell批量导入组

在excel中创建好组的信息,保存成csv格式文件。

使用powrshell命令导入,powershell命令如下:

Import-Csv"d:\groups.csv"|ForEach-Object{New-ADGroup-Name$_.name-SamAccountName$_.samaccountname-Description$_.description-GroupScope$_.groupscope-GroupCategory$_.groupcategory-Path"ou=groups,ou=long,dc=lab,dc=com"}

组属性的最佳实践

  • 规范的命名规则。规范的命名能够一看组名大概就知道这个组使做什么用途的,可以使用前缀表明组的作用。比如:ACL_IT_Read则代表用于分配IT文件只读权限。

  • 使用“描述”属性来标识组的用途。

  • 在“注释”中详细列出组的用途。

总结:一定要分清楚组和OU的区别,组在资源权限分配上能给管理带来很大的方便。对组的管理和用户管理一样重要,分清楚各个组的作用域,灵活运用组。

本文出自“”博客,请务必保留此出处