我是LDAP的新手,对于学校项目,我可以访问学校LDAP的一部分。我可以与组织单元中的用户绑定。
当我绑定时,我可以看到我的密码,而不能看到其他用户的任何其他密码(出于安全原因,我想这很正常(。
因此,我导出了这个LDAP的LDIF,并将其导入到我自己的LDAP服务器上,用于学习目的。
ldapsearch命令运行良好,我检索所有条目(密码除外,这很正常(。
所以现在,我尝试与任何用户绑定,我已经通过Apache Directory Studio在每个LDAP用户中添加了密码(我通常搜索的ou下的inetorgPerson(。
然而,我无法绑定。
我想这是由于错误的访问权限。
我知道我必须使用ldapmodify命令,并且我需要伪造一个指令,比如访问*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
•由于您已在新的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 ’
然后,使用"ldapmodify"one_answers"--defaultAdd"选项添加条目
‘ 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