Active directory 是否可以使用ldap查询在active directory的unix属性中填充信息?

Active directory 是否可以使用ldap查询在active directory的unix属性中填充信息?,active-directory,openldap,ldap-query,Active Directory,Openldap,Ldap Query,我有两台机器,一台是ubuntu机器作为ldap代理,另一台是win 2k8 r2作为active directory 在这个场景中,我可以成功地执行ldapsearch来列出active directory用户,还可以使用ldapmodify修改active directory的一些属性,如sn、givename等(而不是unix属性) 例如 ldapmodify -x -H ldap:/// -D "cn=administrator,cn=users,dc=somedomain,d

我有两台机器,一台是ubuntu机器作为ldap代理,另一台是win 2k8 r2作为active directory

在这个场景中,我可以成功地执行ldapsearch来列出active directory用户,还可以使用ldapmodify修改active directory的一些属性,如sn、givename等(而不是unix属性

例如

    ldapmodify -x -H ldap:///  -D "cn=administrator,cn=users,dc=somedomain,dc=com"  -w  somepwd <<EOF
dn: cn=test ad5,cn=Users,dc=somedomain,dc=com
changetype: modify
replace: sn
sn: ad52
EOF
o/p

dn: cn=test ad5,cn=Users,dc=somedomain,dc=com
objectClass: top
objectClass: posixAccount
objectClass: organizationalPerson
objectClass: USER
cn: test ad5
sn: ad52
givenName: test
distinguishedName: cn=test ad5,cn=Users,dc=somedomain,dc=com
INSTANCETYPE: 4
WHENCREATED: 20170320043245.0Z
WHENCHANGED: 20170320093950.0Z
displayName: test ad5
USNCREATED: 53266
USNCHANGED: 53297
**name: test ad523**
OBJECTGUID:: le66Ipk9yUy0WCRbtKe84w==
USERACCOUNTCONTROL: 66048
BADPWDCOUNT: 0
CODEPAGE: 0
COUNTRYCODE: 0
BADPASSWORDTIME: 0
LASTLOGOFF: 0
LASTLOGON: 0
PWDLASTSET: 131344579654629136
PRIMARYGROUPID: 513
OBJECTSID:: AQUAAAAAAAUVAAAACIWeuT2Mclq4HJrDWAQAAA==
ACCOUNTEXPIRES: 9223372036854775807
LOGONCOUNT: 0
uid: test_ad5
SAMACCOUNTTYPE: 805306368
USERPRINCIPALNAME: test_ad5@somedomain.com
OBJECTCATEGORY: CN=Person,CN=Schema,CN=Configuration,DC=somedomain,DC=com
DSCOREPROPAGATIONDATA: 16010101000000.0Z
目前,可以使用GUI,即通过选择nis域在中手动填充信息

问题,是否可以仅通过ldapadd/modify(即不使用GUI)添加/修改unix属性,如“MSSFU30NISDOMAIN”“uidNumber”“gidNumber”

下面是我用以下命令尝试的LDIF文件

ldapmodify -x -H ldap:///  -D "cn=administrator,cn=users,dc=enjaynewldap,dc=com"  -w  Admin@1234 -f l_mod.ldif

dn: cn=test ad5,cn=Users,dc=enjaynewldap,dc=com
changetype: modify
add: homeDirectory
homeDirectory: /home/test_ad5

dn: cn=test ad5,cn=Users,dc=enjaynewldap,dc=com
changetype: modify
add: loginShell
loginShell: /bin/bash

dn: cn=test ad5,cn=Users,dc=enjaynewldap,dc=com
changetype: modify
add: gidNumber
gidNumber: 666

dn: cn=test ad5,cn=Users,dc=enjaynewldap,dc=com
changetype: modify
add: uidNumber
uidNumber: 20005

dn: cn=test ad5,cn=Users,dc=enjaynewldap,dc=com
changetype: modify
add: msSFU30NisDomain
msSFU30NisDomain: enjaynewldap
O/p

modifying entry "cn=test ad5,cn=Users,dc=enjaynewldap,dc=com"
ldap_modify: Undefined attribute type (17)
    additional info: msSFU30NisDomain: attribute type undefined
任何帮助都将不胜感激。
谢谢。

我看不出为什么不行。您应该能够使用ldapmodify或使用LDIF的任何其他方法来完成此操作

是字符串(可打印)、字符串(IA5)的语法 uidNumber是一个整数 数字是一个整数


您有什么问题吗?

我尝试使用LDIF,但没有成功。获取ldap_modify:Undefined attribute type(17)其他信息:MSSFU30NISDOMAIN:attribute type undefinedAlso我尝试了uidNumber和gidNumber,这两个都已成功添加并显示在ldap代理服务器的ldapsearch中,用于该特定记录,但当我在active directory的unix属性选项卡中交叉检查同一记录时,它没有反映出来。您能提供MSSFU30NISDOMIN的LDIF示例吗?我们可以换一种方式吗?在GUI中设置一个值,然后使用MSSFU30NISDOMIN将用户导出到LDIF。根据,它是用户的一个属性。请显示任何使用的ldif和结果。我已经编辑了问题,添加了我尝试的ldif文件的内容。我们也不能这样做,即使用GUI和导出。所有需要的是使用ldap查询活动目录。这样做只是为了测试。我们能走另一条路吗?在GUI中设置一个值,然后使用MSSFU30NISDOMIN将用户导出到LDIF。
modifying entry "cn=test ad5,cn=Users,dc=enjaynewldap,dc=com"
ldap_modify: Undefined attribute type (17)
    additional info: msSFU30NisDomain: attribute type undefined