Single

Centos7部署OpenLDAP

软件及环境说明

操作系统:CentOS Linux release 7.8.2003 (Core)

openldap: OpenLDAP服务端和客户端用的库文件
openldap-servers: 服务端程序
openldap-clients: 客户端程序
openldap-devel: 开发包,可选
openldap-servers-sql: 支持sql模块,可选
migrationtools: 实现OpenLDAP用户及用户组的添加,导入系统账户,可选
compat-openldap: OpenLDAP 兼容性库

yum安装OpenLDAP

注:目前 yum安装最新版,只能使用2.4.44版本
# yum -y install wget
# mkdir /etc/yum.repos.d.bak
# mv /etc/yum.repos.d/* /etc/yum.repos.d.bak
# wget -O /etc/yum.repos.d/aliyun-centos7-base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# wget -O /etc/yum.repos.d/aliyun-centos7-epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
# yum clean all
# yum makecache
#安装软件包
yum -y install openldap openldap-servers openldap-clients compat-openldap openldap-devel migrationtools
#检查软件包
rpm -qa | grep openldap
Centos7部署OpenLDAP

配置OpenLDAP

cd /etc/openldap/
# 备份配置文件
cp -r slapd.d/ slapd.d_bk
# 注意,不要修改默认配置文件
# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.
Centos7部署OpenLDAP
# 生成秘钥
# 此次返回的ssha信息需要保存,后续需要使用.
[root@ldap openldap]# slappasswd 
New password: 
Re-enter new password: 
{SSHA}MaJ/WPh1nNdvihBT6trLlQ/m0gxSiHJE
# 复制配置文件
cp /usr/share/openldap-servers/slapd.ldif  /etc/openldap/
# 编辑配置文件
vim /etc/openldap/slapd.ldif

# 加载schema
# 文件可见于/etc/openldap/schema
# 注意 core必须在第一个导入,如果不是,可以清理slapd.d里边的文件
include: file:///etc/openldap/schema/core.ldif
include: file:///etc/openldap/schema/collective.ldif
include: file:///etc/openldap/schema/corba.ldif
include: file:///etc/openldap/schema/cosine.ldif
include: file:///etc/openldap/schema/duaconf.ldif
include: file:///etc/openldap/schema/dyngroup.ldif
include: file:///etc/openldap/schema/inetorgperson.ldif
include: file:///etc/openldap/schema/java.ldif
include: file:///etc/openldap/schema/misc.ldif
include: file:///etc/openldap/schema/nis.ldif
include: file:///etc/openldap/schema/openldap.ldif
include: file:///etc/openldap/schema/pmi.ldif
include: file:///etc/openldap/schema/ppolicy.ldif

# 配置DC域
olcAccess: to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,c
 n=auth" read by dn.base="cn=admin,dc=chaiio,dc=com" read by * none
olcSuffix: dc=chaiio,dc=com
olcRootDN: cn=admin,dc=chaiio,dc=com
olcRootPW: {SSHA}MaJ/WPh1nNdvihBT6trLlQ/m0gxSiHJE
Centos7部署OpenLDAP
加载schema,注意 core需要在第一个
不然就会像我一样 找半个小时问题,最后还是请教大佬帮忙看的
Centos7部署OpenLDAP
配置监控及DC域等
# 导入数据
slapadd -n 0 -F slapd.d -l slapd.ldif

[root@ldap openldap]# slapadd -n 0 -F slapd.d -l slapd.ldif 
_#################### 100.00% eta   none elapsed            none fast!         
Closing DB...
# 进度为100%且无报错为正常
# 目录赋权
chown -R ldap.ldap /etc/openldap/slapd.d
# 复制数据库配置文件及赋权
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown -R ldap:ldap /var/lib/ldap
# 启动ldap
systemctl start slapd && systemctl status slapd
# 添加开机自启
systemctl enable slapd
# (测试,此处可选)添加默认域
vim /usr/share/migrationtools/migrate_common.ph

$DEFAULT_MAIL_DOMAIN = “chaiio.com";
$DEFAULT_BASE = "dc=chaiio,dc=com";
$EXTENDED_SCHEMA = 1;

# 生成ldif文件
/usr/share/migrationtools/migrate_base.pl > /etc/openldap/basedomain.ldif
# 导入数据
ldapadd -x -D cn=admin,dc=chaiio,dc=com -W -f /etc/openldap/basedomain.ldif
# 返回结果
Enter LDAP Password: 
adding new entry "dc=chaiio,dc=com"
adding new entry "ou=Hosts,dc=chaiio,dc=com"
adding new entry "ou=Rpc,dc=chaiio,dc=com"
adding new entry "ou=Services,dc=chaiio,dc=com"
adding new entry "nisMapName=netgroup.byuser,dc=chaiio,dc=com"
adding new entry "ou=Mounts,dc=chaiio,dc=com"
adding new entry "ou=Networks,dc=chaiio,dc=com"
adding new entry "ou=People,dc=chaiio,dc=com"
adding new entry "ou=Group,dc=chaiio,dc=com"
adding new entry "ou=Netgroup,dc=chaiio,dc=com"
adding new entry "ou=Protocols,dc=chaiio,dc=com"
adding new entry "ou=Aliases,dc=chaiio,dc=com"
adding new entry "nisMapName=netgroup.byhost,dc=chaiio,dc=com"
# 自定义基本属性
vim config_init.ldif

dn: dc=chaiio,dc=com
objectclass: dcObject
objectclass: organization
o: devops
dc: chaiio

# 导入
ldapadd -x -D 'cn=admin,dc=chaiio,dc=com' -W -f config_init.ldif
# 返回结果
Enter LDAP Password: 
adding new entry "dc=chaiio,dc=com"

# 验证1
ldapsearch -x -b "dc=chaiio,dc=com" "(objectClass=*)"

# 验证2
ldapsearch -H ldapi:/// -Y EXTERNAL -b "cn=config" -LLL –Q

# 验证3 
或者使用LDAP Admin图形工具进行验证
Centos7部署OpenLDAP

客户端配置

参考地址:https://www.openldap.org/software/man.cgi?query=ldap.conf&sektion=5&apropos=0&manpath=OpenLDAP+2.4-
Release

一般配置文件会配置于两个地方:
系统文件: /etc/openldap/ldap.conf
用户文件:$HOME/ldaprc, $HOME/.ldaprc

# 代表注释
URI : 指定openldap服务器地址
BASE : 指定基 DN是什么
SIZELIMIT:限制返回条目的大小
TIMELIMIT: 指定搜索持续的时间
TIMEOUT: 指定操作多少时间无返回就超时。

ldapsearch -x -W -D 'cn=admin,dc=chaiio,dc=com' -b "dc=chaiio,dc=com" -H ldap://172.26.38.106

暂无评论

发表评论