本节书摘来自异步社区《Linux/UNIX OpenLDAP实战指南》一书中的第2章,第2.9节,作者:郭大勇著,更多章节内容可以访问云栖社区“异步社区”公众号查看
2.9 OpenLDAP控制策略
2.9.1 通过slapd.conf定义用户策略控制
默认情况下,不允许OpenLDAP用户自身修改密码,仅管理员具有修改权限。为了提高个人账号的安全性,需要让用户自身可以修改并更新密码信息,不需要管理员干涉。具体步骤如下。
1)定义访问控制策略。
编辑slapd.conf配置文件,定位access行,添加如下内容。
access to attrs=shadowLastChange,userPassword
by self write #只允许自身修改
by * auth
access to *
by * read #允许授权用户查看信息
2)重新加载slapd进程。
# rm -rf /etc/openldap/slapd.d/*
# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/
# chown -R ldap.ldap /etc/openldap/
# chown -R ldap.ldap /var/lib/ldap
# service slapd restart
2.9.2 通过cn=config定义用户控制策略
要定义用户控制策略,可运行以下代码。
# cat << EOF | ldapmodify -x -D cn=Manager,cn=config -W redhat@123!
dn: olcDatabase={2}bdb,cn=config
add: olcAccess
olcAccess: to attrs=userPassword,shadowLastChange by dn="cn=Manager,dc=gdy,dc=com"
write by anonymous auth by self write by * none
olcAccess: to dn.base="" by * read
olcAccess: to * by dn="cn=Manager,dc=gdy,dc=com" write by * read
EOF
modifying entry "olcDatabase={2}bdb,cn=config"