环境说明:
操作系统: CentOS Linux release 7.5.1804 (Core)
LDAP:2.4.44
前提条件:
关闭防火墙, selinux, 同时进行时钟同步. 其中 XXX 需要用域名进行替换, 例如 example.com, 则需要将 xxx 修改为 example.
1, 安装软件.
yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel migrationtools
2, 生成管理员用户和密码.
- slappasswd -s xxxxx
- olcRootPW: {SSHA}+111111p+aUXGlhYIEMr+6ToCxxxxxx
需要记录下该密码, 后续在配置 / etc/openldap/slapd.d/cn=config/olcDatabase\=\{2\}hdb.ldif 会使用到.
3, 修改域信息, 管理员信息.
vim /etc/openldap/slapd.d/cn=config/olcDatabase\=\{2\}hdb.ldif
需要修改内容如下:
- olcSuffix: dc=xxx,dc=com #修改 dc 名称
- olcRootDN: cn=root,dc=xxx,dc=com #修改 cn 名称, dc 名称
- olcRootPW: {SSHA}o7XgtJ7XNKKm7qOrtinHqiN7xZ4+gYI9 #该行为新增行, 指定管理员密码, 该行为新增行
4, 修改监控文件管理员信息.
vim /etc/openldap/slapd.d/cn=config/olcDatabase\=\{1\}monitor.ldif
原有行内容如下:
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read by dn.base="cn=Manager,dc=my-domain,dc=com" read by * none
修改完成内容如下:
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read by dn.base="cn=root,dc=xxx,dc=com" read by * none
5, 检测 ldap 配置文件以及版本号.
检查配置文件.
slaptest -u
输出如下:
- 5b0502de ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif"
- 5b0502de ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif"
- config file testing succeeded
表明基本配置文件验证通过. 由于这两个文件有 crc 校验, 因此修改完成之后, crc 校验失败, 会报错, 该错误克忽略.
查看版本号.
slapd -VV
6, 配置 ldap 数据库存储.
复制基本的数据库配置:
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
修改 ldap 数据库配置目录所属用户
chown ldap:ldap -R /var/lib/ldap
修改 ldap 数据库配置目录权限
chmod 700 -R /var/lib/ldap
7, 启动 ldap 服务.
service slapd start
8, 导入基本的数据库 schema.
- ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
- ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
- ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
9, 修改 mail domain,base,schema 配置.
vim /usr/share/migrationtools/migrate_common.ph
修改之前:
- $DEFAULT_MAIL_DOMAIN = "padl.com";
- $DEFAULT_BASE = "dc=padl,dc=com";
- $EXTENDED_SCHEMA = 0;
修改之后:
- $DEFAULT_MAIL_DOMAIN = "xxx.com";
- $DEFAULT_BASE = "dc=xxx,dc=com";
- $EXTENDED_SCHEMA = 1;
10, 基础配置文件, 新增基础信息.
- dn: dc=xxx,dc=com
- o: xxx com
- dc: xxx
- objectClass: top
- objectClass: dcObject
- objectclass: organization
- dn: cn=root,dc=xxx,dc=com
- cn: root
- objectClass: organizationalRole
- description: Directory Manager
- dn: ou=ops,dc=xxx,dc=com
- ou: ops
- objectClass: top
- objectClass: organizationalUnit
- dn: ou=developer,dc=xxx,dc=com
- ou: developer
- objectClass: top
- objectClass: organizationalUnit
11, 导入基础配置文件.
ldapadd -x -w "xxxxxxxxx" -D "cn=root,dc=xxxx,dc=com" -f /root/base.ldif
-w: 指明管理员账户密码
-D: 指明管理员 basedn 信息
-f /root/base.ldif: 指明要添加的配置文件路径
来源: http://www.bubuko.com/infodetail-2726601.html