사용자가 자신의 데이터 이외의 다른 데이터에 액세스하는 것을 방지하고 싶습니다.
나는 다음과 같은 간단한 acl(ldif)을 구현하려고 합니다.
dn: olcDatabase={1}mdb,cn=config
olcAccess: {0}to attrs=userPassword by self write by anonymous auth by * none
olcAccess: {1}to attrs=shadowLastChange by self write by self read by * none
olcAccess: {2}to * by self read by * none
이 ldif를 적용하면 더 이상 쿼리하지 않습니다 (objectClass=posixAccount)
. 마지막 acl을 로 변경하면 to * by * read
쿼리는 모든 사용자를 반환합니다.
내가 무엇을 놓치고 있나요?
답변1
기록에 접근하려면 "검색" 권한이 있어야 한다는 것을 알았습니다. ACL을 다음으로 변경했습니다.
dn: olcDatabase={1}mdb,cn=config
olcAccess: {0}to attrs=userPassword by self write by anonymous auth by * none
olcAccess: {1}to attrs=shadowLastChange by self write by self read by * none
olcAccess: {2}to * by self read by * search
이를 사용하면 (objectClass=posixAccount)
다른 계정을 표시하지 않고도 쿼리할 수 있습니다.