组的概念及作用域
组是具有安全标识符(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<string>][-GroupCategory<ADGroupCategory>{Distribution|Security}][-HomePage<string>][-Instance<ADGroup>][-ManagedBy<ADPrincipal>][-OtherAttributes<hashtable>][-PassThru][-Path<string>][-SamAccountName<string>][-Server<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的区别,组在资源权限分配上能给管理带来很大的方便。对组的管理和用户管理一样重要,分清楚各个组的作用域,灵活运用组。
本文出自“”博客,请务必保留此出处