1

我是 LDAP 新手,对于一个学校项目,我可以访问我学校 LDAP 的一部分。我可以与组织单位中的用户绑定。

当我绑定时,我可以看到我的密码,而不是其他用户的任何其他密码(出于安全原因,这很正常)。

所以我已经导出了这个 LDAP 的 LDIF 并将其导入到我自己的 LDAP 服务器上以用于学习目的。

ldapsearch 命令运行良好,我检索所有条目(密码除外,这很正常)。

所以现在,我尝试与任何用户绑定,我已经通过 Apache Directory Studio 在每个 LDAP 用户(我通常搜索的 ou 下的inetorgPerson)中添加了密码。

但是,我无法绑定。

我猜这是由于错误的访问权限。

我知道我必须使用 ldapmodify 命令,并且我需要伪造一个指令,例如 access to * by * read (权限比 * 少,但一开始可能很好)。

但是,我找不到如何将此指令与 ldapmodify 一起使用。

我认为我必须创建一个 LDIF 文件来修改配置,但我不明白我应该更新哪个条目。

谁能给我提示以修改正确的条目?

谢谢

这里是我的配置的 id 部分(域编辑为 domain.fr):

    dn: olcDatabase={-1}frontend,cn=config
    objectClass: olcDatabaseConfig
    objectClass: olcFrontendConfig
    olcDatabase: {-1}frontend
    olcAccess: {0}to * by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth manage by * break
    olcAccess: {1}to dn.exact="" by * read
    olcAccess: {2}to dn.base="cn=Subschema" by * read
    olcSizeLimit: 500
    
    dn: olcDatabase={0}config,cn=config
    objectClass: olcDatabaseConfig
    olcDatabase: {0}config
    olcAccess: {0}to * by * write
    
    dn: olcDatabase={1}mdb,cn=config
    objectClass: olcDatabaseConfig
    objectClass: olcMdbConfig
    olcDatabase: {1}mdb
    olcDbDirectory: /var/lib/ldap
    olcSuffix: dc=domain,dc=fr
    olcAccess: {0}to attrs=userPassword by self write by anonymous auth by * none
    olcAccess: {1}to attrs=shadowLastChange by self write by * read
    olcAccess: {2}to * by * read
    olcLastMod: TRUE
    olcRoot
    
    dn: cn=admin,dc=domain,dc=fr
    olcRootPW: {SSHA}YNGbI0zpbUoVLZggbKeZqFIlVdq+0ZJP
    olcDbCheckpoint: 512 30
    olcDbIndex: objectClass eq
    olcDbIndex: cn,uid eq
    olcDbIndex: uidNumber,gidNumber eq
    olcDbIndex: member,memberUid eq
    olcDbMaxSize: 1073741824
    search: 2
4

1 回答 1

-1

• 由于您已在新 AD 中导入 LDIF 文件,因此在您的 AD 环境中重新创建了原始 AD 中的所有用户。因此,您需要在您的环境中创建一个与原始 DNS 命名服务相同的 DNS 命名服务,因为您要添加条目的后缀应该存在于数据库中。此外,原始 LDAP 目录中使用的域管理员凭据将需要与导入的 LDIF 文件中的用户凭据绑定。

为此,您需要使用以下命令修改域管理员凭据。下面显示的脚本是有关如何修改域管理员凭据然后尝试使用这些凭据绑定用户的示例。使用以下内容创建一个新的 LDIF 文件:-

 ‘ dn: uid=XYZ,ou=Domain Administrators,dc=example,dc=com
   cn: XYZ
   sn: XYZ
   givenName: XYZ
   objectClass: top
   objectClass: person
   objectClass: organizationalPerson
   objectClass: inetOrgPerson
   ou: Accounting
   ou: People
    l: Santa Clara
  uid: XYZ
 mail: XYZ@example.com
  roomnumber: 5484
    userpassword: Pass@123 ’

然后,使用带有 '-defaultAdd' 选项的 'ldapmodify' 添加条目

   ‘ ldapmodify --hostname localhost --port 389 --bindDN "cn=Directory Manager" \
 --bindPassword password --defaultAdd --filename /tmp/new.ldif ‘

使用这些命令,您将能够修改域管理员凭据,然后肯定能够在 LDAP 中绑定用户。只需将 ldif 文件名更改为您拥有的文件名,然后将 ldif 文件中的条目更改为原始目录中的实际条目。请在下面找到此链接以供您参考:-

https://docs.oracle.com/cd/E22289_01/html/821-1273/adding-modifying-and-deleting-directory-data.html

于 2021-11-18T06:49:06.460 回答