需求背景:
公司内部各服务,以及开发测试环境的服务都需要对接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命令修改优点是服务无影响,可以正常提供服务,比直接修改配置文件灵活。