1、安装OpenLDAP
安装
yum install -y openldap openldap-servers openldap-clients
启动
sudo systemctl start slapd
sudo systemctl enable slapd
sudo systemctl status slapd
配置防火墙
firewall-cmd --add-service=ldap
2、配置 LDAP 服务
- 创建OpenLDAP管理员,注意记录哈希值
slappasswd
- 创建一个LDIF文件 (ldaprootpasswd.ldif), 用于向 LDAP 目录添加条目
vim ldaprootpasswd.ldif
在下面添加如下内容:
注意:将PASSWORD替换为前面获取的哈希值
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}PASSWORD
内容解释:
- olcDatabase:指示特定的数据库实例名称,通常可以在**/etc/openldap/slapd.d/cn_config**中找到
- cn=config: 表示全局配置选项
- olcRootPW:是创建管理用户时获取的哈希字符串
- 通过指定引用 ldap 服务器和上述文件的 URI 来添加相应的 LDAP 条目
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f ldaprootpasswd.ldif
3、配置LDAP数据库
将LDAP提供的示例数据库配置文件复制到 /var/lib/ldap目录中,并把该文件授权给ldap:ldap
注意:ldap:ldap LDAP服务会自动创建
sudo cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
sudo chown -R ldap:ldap /var/lib/ldap/DB_CONFIG
sudo systemctl restart slapd
- 从/etc/openldap/架构目录中导入一些基本的 LDAP 架构,如下所示:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
- 在添加具体的域文件,并创建为ldapdomain.ldif的文件
sudo vim ldapdomain.ldif
内容如下,注意讲example 替换为自己的域名,将PASSWORD替换为前面获取的哈希值
dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth"
read by dn.base="cn=Manager,dc=example,dc=com" read by * none
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=example,dc=com
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=Manager,dc=example,dc=com
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}PASSWORD
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange by
dn="cn=Manager,dc=example,dc=com" write by anonymous auth by self write by * none
olcAccess: {1}to dn.base="" by * read
olcAccess: {2}to * by dn="cn=Manager,dc=example,dc=com" write by * read
- 通过指定引用 ldap 服务器和上述文件的 URI 来添加相应的 LDAP 条目
sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f ldapdomain.ldif
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 jiang4yu@126.com