在CentOS 5上安装和配置OpenLDAP
本教程介绍了在运行Red Hat,Fedora,CentOS或基于软件包安装程序“yum”的任何发行版的计算机上安装OpenLDAP。
如果您使用另一个软件包安装程序发行版本,我们将安装相同的软件包,但使用安装程序(适用于基于Debian的发行版)。
1)LDAP安装(以root用户身份)
[root@kike ~]# yum install openldap-servers openldap-clients nss_ldap
2)复制目录DB_CONFIG.example
[root@kike ~]# cd /etc/openldap/
[root@kike ~]# cp DB_CONFIG.example /var/lib/ldap/DB_CONFIG
3)为LDAP创建密码
[root@kike openldap]# slappasswd
New password:
Re-enter new password:
{SSHA}V7IS3vYe8P0/IcOvJmfEdjY1LXuWPV3U
复制此命令的输出(密码SSHA)并将其添加到sldap.conf中
:
/etc/openldap/slapd.conf
起初我们修改粗体是什么
database bdb suffix "dc=ldap-kike,dc=com,dc=uy" rootdn "cn=Manager,dc=ldap-kike,dc=com,dc=uy" # Cleartext passwords, especially for the rootdn, should # be avoided. See slappasswd(8) and slapd.conf(5) for details. # Use of strong authentication encouraged. # rootpw secret # rootpw {crypt}ijFYNcSNctBYg rootpw {SSHA}V7IS3vYe8P0/IcOvJmfEdjY1LXuWPV3U
注意:在标签“数据库”中,选择与默认OpenLDAP数据存储格式相对应的bdb(尽管OpenLDAP项目的官方网站上没有推荐使用MySQL,PostgreSQL或其他数据库格式http://www.openldap.org /doc/admin24/backends.html )。
在Postfix中,我们使用将提供LDAP的域(在本例中为ldap-kike.com.uy)。
Rootdn包含在OpenLDAP中进行身份验证的名称(此处的管理员
可以修改为任何所需的名称)。
Rootpw是管理员用户的密码(示例中的Manager
)。
4)我们准备启动服务器:
[root@kike openldap]# service ldap start
Checking configuration files for slapd: config file testing succeeded [ OK ]
Starting slapd: [ OK ]
5)所有要加载的信息都被引入到ldif格式文件中。
http://en.wikipedia.org/wiki/LDAP_Data_Interchange_Format
6)创建一个文件来初始化LDAP数据库
在这种情况下,我调用文件ldap-init.ldif
,它包含:
[root@kike openldap]# cat ldap-init.ldif
dn: dc=ldap-kike,dc=com,dc=uy objectclass: dcObject objectclass: organization o: Servidor LDAP ldap-kike dc: ldap-kike dn: cn=Manager,dc=ldap-kike,dc=com,dc=uy objectclass: organizationalRole cn: Manager
7)使用以下命令初始化数据库
[root@kike openldap]# /usr/bin/ldapadd -a -x -D 'cn=Manager,dc=ldap-kike,dc=com,dc=uy' -W -f ldap-init.ldif
Enter LDAP Password:
adding new entry "dc=ldap-kike,dc=com,dc=uy"
adding new entry "cn=Manager,dc=ldap-kike,dc=com,dc=uy"
8)显示数据库的内容
[root@kike openldap]# ldapsearch -h 127.0.0.1 -x -b "dc=ldap-kike,dc=com,dc=uy"
返回如下:
# extended LDIF
#
# LDAPv3
# base
# ldap-kike.com.uy
dn: dc=ldap-kike,dc=com,dc=uy
objectClass: dcObject
objectClass: organization
o: Servidor LDAP ldap-kike
dc: ldap-kike
# Manager, ldap-kike.com.uy
dn: cn=Manager,dc=ldap-kike,dc=com,dc=uy
objectClass: organizationalRole
cn: Manager
# search result
search: 2
result: 0 Success
# numResponses: 3
# numEntries: 2
9)命令authconfig-tui
我们将配置文件/etc/nsswitch.conf,/etc/ldap.conf,pam
等。 这将在控制台中运行,并打开一个文本菜单,您可以在其中配置LDAP身份验证支持并完成信息(默认选项标有*)。
10)在LDAP目录中创建用户。
我们也使用一个ldif格式的文件。
[root@kike openldap]# cat user.ldif
dn: uid=usuario1,dc=ldap-kike,dc=com,dc=uy uid: usuario1 cn: usuario1 objectClass: account objectClass: posixAccount objectClass: top objectClass: shadowAccount userPassword: {crypt}$1$TEDFGNB3$m24Mo06Q06EXMop7INKrC/ shadowLastChange: 14335 shadowMax: 99999 shadowWarning: 7 loginShell: /bin/bash uidNumber: 10000 gidNumber: 10000 homeDirectory: /home/usuario1 gecos: usuario1
在这种情况下,以这种方式生成userPassword:
[root@kike openldap]# openssl passwd -1 -salt TEDFGNB345RTErea
Password:
$1$TEDFGNB3$m24Mo06Q06EXMop7INKrC/
参数-1为MD5,盐为随机字符。
11)我们还使用ldapadd命令添加LDAP目录
[root@kike openldap]# ldapadd -a -x -D 'cn=Manager,dc=ldap-kike,dc=com,dc=uy' -W -f user.ldif
验证用户正在使用id命令行走:
[root@kike openldap]# id usuario1
uid=10000(usuario1) gid=10000 groups=10000