Since I wasn't able to get the (&(objectClass=pwmUser)(memberOf=cn=sysadmins,ou=Admins,dc=domainname,dc=local)) to work in /etc/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif I just added each user in the sysadmins group to the olcAccess lines as seen below. I'd like to be able to add group.exact or something that can extract the users from cn=sysadmins,ou=Admins,dc=domainnamd,dc=local because the number of sysadmin will continue to grow over time. With the entries below things are seem to be working fine.
olcAccess: {0}to attrs=userPassword,shadowLastChange,pwmResponseSet,pwmLastPwdUpdate,pwmGUID,pwmUser,pwmEventLog by dn="cn=Manager,dc=domainname,dc=local" write by dn="uid=
john...@somedomain.com,ou=Users,dc=domainname,dc=local" write by dn="uid=
pwma...@somedomain.com,ou=Users,dc=domainname,dc=local" write by anonymous auth by self write by * none
olcAccess: {1}to dn.subtree="ou=Users,dc=domainname,dc=local" by dn="cn=Manager,dc=domainname,dc=local" write by dn="uid=
john...@somedomain.com,ou=Users,dc=domainname,dc=local" write by dn="uid=
pwma...@somedomain.com,ou=Users,dc=domainname,dc=local" write by anonymous auth by self write by * none
olcAccess: {2}to dn.base="" by Users read by * none
olcAccess: {3}to * by dn="cn=Manager,dc=domainname,dc=local" write by dn="uid=
john...@somedomain.com,ou=Users,dc=domainname,dc=local" read by dn="uid=
pwma...@somedomain.com,ou=Users,dc=domainname,dc=local" read by * none