以userAccountControl
为例,CN=User-Account-Control,CN=Schema,CN=Configuration,DC=muxue,DC=com
属性标志
十六进制值
十进制值
SCRIPT
0x0001
1
ACCOUNTDISABLE
0x0002
2
HOMEDIR_REQUIRED
0x0008
8
锁定
0x0010
16
PASSWD_NOTREQD
0x0020
32
PASSWD_CANT_CHANGE 无法通过直接修改 UserAccountControl 属性来分配此权限。 若要了解如何以编程方式设置权限,请参阅属性 标志说明 部分。
0x0040
64
ENCRYPTED_TEXT_PWD_ALLOWED
0x0080
128
TEMP_DUPLICATE_ACCOUNT
0x0100
256
NORMAL_ACCOUNT
0x0200
512
INTERDOMAIN_TRUST_ACCOUNT
0x0800
2048
WORKSTATION_TRUST_ACCOUNT
0x1000
4096
SERVER_TRUST_ACCOUNT
0x2000
8192
DONT_EXPIRE_PASSWORD
0x10000
65536
MNS_LOGON_ACCOUNT
0x20000
131072
SMARTCARD_REQUIRED
0x40000
262144
TRUSTED_FOR_DELEGATION
0x80000
524288
NOT_DELEGATED
0x100000
1048576
USE_DES_KEY_ONLY
0x200000
2097152
DONT_REQ_PREAUTH
0x400000
4194304
PASSWORD_EXPIRED
0x800000
8388608
TRUSTED_TO_AUTH_FOR_DELEGATION
0x1000000
16777216
PARTIAL_SECRETS_ACCOUNT
0x04000000
67108864
如果一个账户,有LOCKOUT,以及NOT_DELEGATED,其他的位都没有,那这个用户的属性userAccountControl的值就为0x0010+0x100000
。
如果我们要搜索域中所有设置了NOT_DELEGATED
的所有对象,就得使用以下语法
<Attribute name>:<BitFilterRule-ID>:=<decimal comparative value>
Attribute name:属性名称
BitFilterRule-ID
https://docs.microsoft.com/zh-cn/windows/win32/adsi/search-filter-syntax?redirectedfrom=MSDN
decimal comparative value:十进制比较值
有两种按位运算 可扩展匹配规则,and
和 or
我们尝试搜索带有TRUSTED_FOR_DELEGATION
属性的对象
设置此标志后,Kerberos 委派信任运行服务的服务帐户(用户或计算机帐户)。任何此类服务都可以模拟请求该服务的客户端。要为 Kerberos 委派启用服务,您必须在服务帐户的 userAccountControl 属性上设置此标志
AdFind.exe -b dc=muxue,dc=com -f "(userAccountControl:1.2.840.113556.1.4.803:=524288)" -dn
AdFind也提供了一种简单的方法
上个文我们说过这个类的,可以寻父类
CN=WIN7,CN=Computers,DC=muxue,DC=com
的objectClass
是top,person,organizationalPerson,user
,我们可以通过(objectClass=user)
,(objectClass=organizationalPerson)
都可以找到这个对象(别用top
,因为所有类都是他的子类)
-c是计数
在Windows Server 2008之前默认不对objectClass
属性进行索引。对objectCategory
建立索引
他包含的对象是其实例的类或其父类之一的专有名称;创建对象时,系统会将其objectCategory
属性设置为由其defaultObjectCategory
属性的值。无法更改objectCategory
属性。
CN=iis,CN=Users,DC=muxue,DC=com,dc.muxue.com
的defaultObjectCategory
属性值就是CN=Person,CN=Schema,CN=Configuration,DC=muxue,DC=com
如果我们想过滤所有objectCategory
属性的值为CN=Person,CN=Schema,CN=Configuration,DC=muxue,DC=com
的对象,我们就可以直接指定过滤条件为(objectCategory="CN=Person,CN=Schema,CN=Configuration,DC=muxue,DC=com")
我们也可以指定lDAPDisplayName
属性的值查询
AdFind.exe -b dc=muxue,dc=com -bit -f "(objectclass=group)" -c
查询到有46个组
查找组的类型通过groupType
决定
我以域本地组做例子
组类型
可以授予权限
可包含
可包含于
成员是否在全局编录复制
全局组
在同一林中或信任域或林中的任何域上。
来自同一域的帐户。 来自同一域的其他全局组
来自同一林中任何域的通用组。 来自同一域的其他全局组。 来自同一林中任何域或任何信任域的域本地组。
无
通用组
在同一林或信任林中的任何域上。
来自同一林中任何域的帐户。 来自同一林中任何域的全局组。 来自同一林中任何域的其他通用组。
同一林中的其他通用组。 在同一个林或信任林中域本地组。
是
域本地组
在同一个域中
来自任何域或任何受信任域的帐户。 来自任何域或任何受信任域的全局组。 来自同一林中任何域的通用组。 来自同一域的其他域本地组。
来自同一域的其他域本地组。
无
直接抄daiker的哈
Administrators(域本地组)
拥有对整个域最大的控制权,可以执行整个域的管理任务。Administrators
包括Domain Admins
和Enterprise Admins
Enterprise Admins(通用组)
域林中,只有林根域才有这个组,林中其他域没有这个组,但是其他域默认会把这个组加入到本域的Administrators里面去。
Domain Admins(全局组)
也就是域管,默认域内所有机器会把Domain Admins
加入到本地管理员组里面。
Domain Users(全局组)
也就是普通域用户。默认域内所有机器会把Domain Users
加入到本地用户组里面
这也就是为什么默认情况底下,啥都不配置。域用户可以登录域内任何一台普通成员机器。
A表示用户账号,G表示全局组,U表示通用组,DL表示域本地组,P表示资源权限。
常见的组应用策略:
AGP:将用户账户添加到全局组,然后赋予权限
ADLP:将用户账户添加到域本地组,然后赋予权限
AGLP:将用户账户添加到全局组,将全局组添加到本地组, 然后赋予本地组权限
AGDLP:将用户账户添加到全局组,将全局组添加到域本地组, 然后赋予域本地组权限
AGUDLP:将用户账户添加到全局组,将全局组添加到通用组,将通用组添加到域本地组, 然后赋予域本地组权限
参考链接:https://blog.51cto.com/ilanni/557207
这里感谢daiker
师傅 遇到了一些问题给俺解答
架构
如果group2
是group1
的成员
那么group2
有个memberOf
属性,标识group2
是group1
的成员
group1
有个member
属性标识group2
是它的成员。
根据member
和memberOf
这俩属性 我们就可以用来当作过滤条件了
查询group1
有哪些成员
AdFind.exe -b dc=muxue,dc=com -f "(memberof="CN=group1,OU=IT,DC=muxue,DC=com")" -dn
AdFind.exe -b cn=group1,ou=it,dc=muxue,dc=com member
查询u1
属于哪个组
AdFind.exe -b DC=muxue,DC=com -f "(member="CN=u1,OU=IT,DC=muxue,DC=com")" -dn
AdFind.exe -b CN=u1,OU=IT,DC=muxue,DC=com memberof
组织单位 (OU) 是Active Directory 中的一个细分,您可以在其中放置用户、组、计算机和其他组织单位。您可以创建组织单位来反映您组织的职能或业务结构。每个域都可以实现自己的组织单位层次结构。像我上面的IT就是一个OU
OU是专用容器,与常规容器的区别在于管理员可以将组策略应用于OU,然后系统将其下推到OU中的所有计算机。而普通容器是不能应用组策略的
所以可以将组策略应该于Domain Controllers,而Domain Computers是不能应用组策略的
这俩完全不一样,组是权限的集合,OU是管理对象的集合。
假如我们想给一个部门下发些东西,可以拉进一个OU里,然后进行集中管理。
所有的OU都是organizationalUnit
类的实例,所以可以用(objectClass=organizationalUnit)
或者(objectCategory=organizationalUnit)
来指定这个类
AdFind.exe -b dc=muxue,dc=com -f "(objectClass=organizationalUnit)" -dn
AdFind.exe -b dc=muxue,dc=com -f "(objectCategory=organizationalUnit)" -dn
AdFind.exe -b ou=it,dc=muxue,dc=com -dn
手机扫一扫
移动阅读更方便
你可能感兴趣的文章