389ds LDAPサーバーを構成しようとしています。テストには389ds LDAPサーバーのみが必要で、実稼働環境は構成しません。私は使う389ds/dirsrvドッカー画像。 ldapmodifyコマンドを使用してuser01を追加しました。問題は、user1が権限を取得できないことです。 user01 は ldapsearch コマンドを使用できません。
cn=カタログマネージャ:
ldapsearch -x -H ldap://localhost:3389 -D "cn=Directory Manager" -w dupa -LLL -b "cn=user01,ou=People,dc=example,dc=org" -s base objectclass=*
dn: cn=user01,ou=People,dc=example,dc=org
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: shadowAccount
objectClass: posixAccount
objectClass: person
objectClass: top
cn: user01
gidNumber: 1000
homeDirectory: /home/user01
sn: Bar1
uid: user01
uidNumber: 1000
shadowLastChange: 19711
userPassword:: e1BCS0RGMi1TSEE1MTJ9MTAwMDAkR0NySUE4TXRkdGhtTlhMUHF2dmErMG1iQ3p
Hd2FDWDUkZUVtZnRRd2o3MG8xeEl5bFNVRFJIaEJHTkdxcDVBVWIrTjdEOFF5RUFjZGpxNFpMa2Z3
dm45MElrK1hFc3A3eGxVZDEvUGkvVEpKbThTYjh5eEN1alE9PQ==
cn=user01,ou=人、dc=はい、dc=org:
ldapsearch -x -H ldap://localhost:3389 -D "cn=user01,ou=People,dc=example,dc=org" -w password1 -b "cn=user01,ou=People,dc=example,dc=org" -s base objectclass=*
# extended LDIF
#
# LDAPv3
# base <cn=user01,ou=People,dc=example,dc=org> with scope baseObject
# filter: objectclass=*
# requesting: ALL
#
# search result
search: 2
result: 0 Success
# numResponses: 1
user01が自分自身を見ることができることを願っています。どうすれば修正できますか?
答え1
その aci を使用してユーザーを読み取るには、権限を追加する必要があります。たとえば、
ファイルを生成します。modify_acis.ldif
dn: ou=people,dc=your,dc=server,dc=com
changetype: modify
add: aci
aci: (targetattr="*")(version 3.0; acl "Self Read Access"; allow (read, search, compare) userdn="ldap:///self";)
適用する:
ldapmodify -x -D "cn=Directory Manager" -W -f modify_acis.ldif
何を読むかなどを慎重に考えなければなりません。たとえば、ユーザーにパスワードリセット権限を付与しない限り、パスワードハッシュを読み取ることはできません。