我是 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