配置OpenLDAP实现用户的统一认证和管理
in 默认分类 with 0 comment

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

in 默认分类 with 0 comment

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

ldif文件生成

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

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

apt-get install migrationtools -y

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

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

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

将基础文件、用户以及组信息导出,建议使用root权限操作。

/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

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

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

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

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文件插入

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

/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'

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

--EOF--

Responses