配置OpenLDAP实现用户的统一认证和管理

上一篇讲到OpenLDAP的安装,这一篇是鸽了很久的配置篇了。

ldif文件生成

OpenLDAP当中的ldif文件类似一个个模板,通过填写模板可以进行数据的批量增改了。 如果要手动编写ldif文件,一是非常的繁琐,二是极容易出错,所以我们可以借助migrationtools这个工具生成会更加的方便快捷。

  • 工具安装

migrationtools的安装以Ubuntu使用包管理器安装为例:

1
apt-get install migrationtools -y

这样就完成了工具的安装。

  • 工具配置 默认的配置文件migrate_common.ph当中可以设置默认的dc,这个文件位于/etc/migrationtools/migrate_common.ph,而不是网上很多教程写的位置(当找不到这个文件时,可以按文件名搜索一下啊)

修改Default base 和 Default DNS domain为自己的即可。

  • 数据文件导出 将基础文件、用户以及组信息导出,建议使用root权限操作。
1
2
3
/usr/share/migrationtools/migrate_base.pl > base.ldif
/usr/share/migrationtools/migrate_group.pl /etc/group > group.ldif
/usr/share/migrationtools/migrate_passwd.pl /etc/passwd > passwd.ldif

配置OpenLDAP

  • 生成rootdn密文密码 openldap编译安装后自带工具slappasswd用于对明文进行加密 执行/usr/local/openldap/sbin/slappasswd后输入想要设置的密码并确认一遍后可以得出密文密码 类似于{SSHA}pjqCdkLo4EkeFgJuowPFUytrZnU33ikd。 使用密文密码可以提高整个服务的安全性。

  • 主配置文件 主配置文件名为slapd.conf,本篇位于/usr/local/openldap/etc/openldap

在core.schema下方新增包含几个schema

1
2
3
4
include         /usr/local/openldap/etc/openldap/schema/cosine.schema
include         /usr/local/openldap/etc/openldap/schema/inetorgperson.schema
include         /usr/local/openldap/etc/openldap/schema/nis.schema
include         /usr/local/openldap/etc/openldap/schema/misc.schema

修改suffixrootdnrootpw为自己的设定值。

修改后可以测试一下配置文件是否被正确配置 /usr/local/openldap/sbin/slaptest -u -f /usr/local/openldap/etc/openldap/ldap.conf

启动OpenLDAP

  • 直接在后台工作

非root用户不能监听端口1~1024,如果是非root用户,有可能需要重新定义服务端口 /usr/local/openldap/libexec/slapd

启动有错时可以进行输出debug信息模式 /usr/local/openldap/libexec/slapd -d 256

  • 验证启动状态

执行/usr/local/openldap/bin/ldapsearch -x -b '' -s base'(objectclass=*)' 或者/usr/local/openldap/bin/ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts 即可验证。

ldif文件插入

等待服务启动后即可进行数据插入了,依次插入之前导出的基础数据、用户以及组数据。

1
2
3
/usr/local/openldap/bin/ldapadd -x -D "cn=Manager,dc=lvmoo,dc=com" -W -f base.ldif
/usr/local/openldap/bin/ldapadd -x -D "cn=Manager,dc=lvmoo,dc=com" -W -f group.ldif
/usr/local/openldap/bin/ldapadd -x -D "cn=Manager,dc=lvmoo,dc=com" -W -f passwd.ldif

此时执行 /usr/local/openldap/bin/ldapsearch -x -b "ou=People,dc=lvmoo,dc=com" 或者 /usr/local/openldap/bin/ldapsearch -LLL -x -D "cn=Manager,dc=lvmoo,dc=com" -W -b 'dc=lvmoo,dc=com' 'uid=kay'

即可看到数据库存储的数据了。

Licensed under CC BY-NC-SA 4.0
最后更新于 May 08, 2019 16:51 UTC
点击刷新🚌