389dsでユーザーに権限を割り当てる方法は?

389dsでユーザーに権限を割り当てる方法は?

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

何を読むかなどを慎重に考えなければなりません。たとえば、ユーザーにパスワードリセット権限を付与しない限り、パスワードハッシュを読み取ることはできません。

関連情報