2024年3月14日发(作者:)

1:安装openldap包

# yum -y install openldap-servers openldap-clients

2:生成密码

slappasswd复制显示的密码

3:生成公私钥

# opensslreq -new -x509 -nodes -out /etc/pki/tls/certs/

/etc/pki/tls/certs/ -days 365

4:编辑ldap数据库文件

# vim /etc/openldap/slapd.d/cn=config/olcDatabase={1}

将dc=my-domain,dc=com 替换为dc=example,dc=com

接下来设置root 密码。和指定公私钥的路径,在该文件最后增加以下三行

olcRootPW: {SSHA}t4/pwOCHNH4fzp9aNNV75veDTaqHCKX2 此处为第二步生成的密码

olcTLSCertificateFile: /etc/pki/tls/certs/

olcTLSCertificateKeyFile: /etc/pki/tls/certs/

5:指定管理员root 的DN,编辑

# vim /etc/openldap/slapd.d/cn=config/olcDatabase={2}

将cn=manager,dc=my-domain,dc=com 替换为cn=Manager,dc=example,dc=com

6:将DB_e复制到 /var/lib/ldap重命令为DB_CONFIG

Rhel6.0

$ cp /usr/share/doc/openldap-servers-2.4.19/DB_e

> /var/lib/ldap/DB_CONFIG

Rhel6.1

$ cp /usr/share/openldap-servers/DB_e /var/lib/ldap/DB_CONFIG

# vim /etc/sysconfig/ldap

7:开启slapd的tls功能。编辑

# vim /etc/sysconfig/ldap

将SLAPD=LDAPS=no 将的注释取消掉,同时将no 改为yes

8:测试ldap的配置并启动

# slaptest -u

# serviceslapd start

# chkconfigslapd on

# ldapsearch -x -b "dc=example,dc=com"

-keyout

9:ldap 已搭建成功。但是没有可用来登录的用户。故将本地帐户迁移到ldap server 中

安装迁移包

# yum -y install migrationtools

10: 修改迁移脚本

# vim /usr/share/migrationtools/migrate_

将$NAMINGCONTEXT{'group'} = "ou=Group";

改为

$NAMINGCONTEXT{'group'} = "ou=Groups";

修改以下两行

$DEFAULT_MAIL_DOMAIN = ””;

$DEFAULT_BASE = ”dc=example,dc=com”;

将$EXTENDED_SCHEMA = 0; 改为 $EXTENDED_SCHEMA = 1;

生成文件

cd/usr/share/migrationtools/

# ./migrate_ > /tmp/

将/etc/passwd, /etc/group 当中需要迁移到ldapserver的用户及组的条目分别复制到

/tmp/passwd, /tmp/group 中。

生成,

# ./migrate_ /tmp/passwd> /tmp/

# ./migrate_ /tmp/group > /tmp/

上传以上三个ldif文件

# ldapadd -x -W -D “cn=Manager,dc=example,dc=com” -f /tmp/

# ldapadd -x -W -D “cn=Manager,dc=example,dc=com” -f /tmp/

# ldapadd -x -W -D “cn=Manager,dc=example,dc=com” -f /tmp/

11. ldapserver已经搭建完成。将/etc/pki/tls/certs/公钥分发给客户端

放在客户端的/etc/openldap/cacerts/ 下。

修改客户端的/etc/sssd/文件。在最后一行加上enumerate = true

最后使用authconfig-tui或system-config-authentication 将客户端加入到ldapserver

当中,使用getentpasswd可查看到ldap用户。