需求背景:
公司內部各服務,以及開發測試環境的服務都需要對接ldap認證,目前只有一個可以讀寫的ldap管理員賬號,不夠安全。所以單獨創建一個只讀的ldap賬號。
操作步驟:
1、創建ldap只讀賬號
添加只讀賬號: #密碼 LDAP_READONLY_USER_PW='密碼' #Base DN LDAP_BASE_DN='dc=cnblog,dc=com' cat <<EOF > ./readOnly.ldif dn: cn=readonly,${LDAP_BASE_DN} cn: readonly objectClass: simpleSecurityObject objectClass: organizationalRole description: LDAP read only user userPassword: ${LDAP_READONLY_USER_PW} EOF
ldapadd -x -D cn=Manager,dc=okcoin,dc=com -w '密碼' -f ./readOnly.ldif
2、配置只讀賬號權限
LDAP_BASE_DN='dc=cnblog,dc=com' cat <<EOF > readonly-user-acl.ldif dn: olcDatabase={2}hdb,cn=config changetype: modify delete: olcAccess - add: olcAccess olcAccess: {0}to attrs=userPassword,shadowLastChange by dn="cn=Manager,dc=cnblog,dc=com" write by anonymous auth by self write by dn="cn=readonly,dc=cnblog,dc=com" read by * none olcAccess: {1}to dn.base="" by * read olcAccess: {2}to * by dn="cn=Manager,dc=cnblog,dc=com" write by * read EOF
ldapmodify -Y EXTERNAL -H ldapi:/// -f readonly-user-acl.ldif
注意:
1)格式中換行要注意空格。
2)使用ldapmodify命令修改優點是服務無影響,可以正常提供服務,比直接修改配置文件靈活。