CentOS 5.x上的LDAP用户认证
本教程将介绍如何在CentOS 5.x系统上设置LDAP用户身份验证。
域名: shadow.com
LDAP服务器IP: 192.168.56.1
服务器配置
所需软件包: openldap-servers
[root@icewalker ~]# vi /etc/openldap/slapd.conf
将这些值设置为:
suffix "dc=shadow,dc=com" rootdn "cn=root,dc=shadow,dc=com"
设置root密码:
rootpw your_desired_password
我们可以加密我们的管理员密码 为此运行slappasswd
命令。 它会要求你输入一个密码,输入两次后就会出现这样的一行:
{SSHA} 04b5U6YTzQ651v9EB + 17e0FEXoEmB / Up
并将其用作
rootpw {SSHA}04b5U6YTzQ651v9EB+l7e0FEXoEmB/Up
通过运行测试您的配置
slaptest -u
命令。
[root@icewalker ~]# cp /etc/openldap/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
[root@icewalker ~]# service ldap start
[root@icewalker ~]# chkconfig ldap on
现在我们需要设置我们的基础,身份验证和组文件。 也就是说,我们将建立LDAP服务器的基本参数,然后迁移(大部分)用户帐户和(大部分)组帐户。
[root@icewalker ~]# cd /usr/share/openldap/migration
[root@icewalker ~]# ./migrate_base.pl > base.ldif
在base.ldif中,
我们仅需要以下部分:
dn: dc=padl,dc=com dc: padl objectClass: top objectClass: domain dn: ou=People,dc=padl,dc=com ou: People objectClass: top objectClass: organizationalUnit dn: ou=Group,dc=padl,dc=com ou: Group objectClass: top objectClass: organizationalUnit
用阴影
替换所有padl
,使其变为:
dn: dc=shadow,dc=com dc: shadow objectClass: top objectClass: domain dn: ou=People,dc=shadow,dc=com ou: People objectClass: top objectClass: organizationalUnit dn: ou=Group,dc=shadow,dc=com ou: Group objectClass: top objectClass: organizationalUnit
现在,我们可以使用以下命令将该信息导入到我们的LDAP数据库中:
[root@icewalker ~]# ldapadd -x -W -D “cn=root,dc=shadow,dc=com” -f ./base.ldif
我们需要告诉脚本哪里可以找到密码信息。 我们通过将shell变量ETC_SHADOW
设置为/ etc / shadow来实现
。 这个命令会做到这一点:
[root@icewalker ~]# export ETC_SHADOW=/etc/shadow
然后,我们可以跑
[root@icewalker ~]# ./migrate_passwd.pl /etc/passwd people.ldif
在people.ldif
文件中删除除了所需用户部分之外的所有部分,并用阴影
替换所有padl
。
[root@icewalker migration]# cat people.ldif
dn: uid=basil,ou=People,dc=shadow,dc=com uid: basil cn: Basil Kurian objectClass: account objectClass: posixAccount objectClass: top objectClass: shadowAccount userPassword: {crypt}$1$Dr0hxwtg$.zGk8MIf57AHmj6vpD07n. shadowLastChange: 14791 shadowMax: 99999 shadowWarning: 7 loginShell: /bin/bash uidNumber: 500 gidNumber: 500 homeDirectory: /home/basil gecos: Basil Kurian
[root@icewalker migration]# ./migrate_group.pl /etc/group group.ldif
再次,用linux类替换padl的实例
,并删除无关的组。
[root@icewalker migration]# cat group.ldif
dn: cn=basil,ou=Group,dc=shadow,dc=com objectClass: posixGroup objectClass: top cn: basil userPassword: {crypt}x gidNumber: 500
完成之后,现在是将两个文件导入ldap的时候了
[root@icewalker migration]# ldapadd -x -W -D “cn=root,dc=shadow,dc=com” -f people.ldif
[root@icewalker migration]# ldapadd -x -W -D “cn=root,dc=shadow,dc=com” -f group.ldif
现在,我们的数据库填充了信息。 现在是测试我们工作的时候了 首先,您可以使用ldapsearch
命令查找您的用户名:
[root@icewalker migration]# ldapsearch -x ‘cn=basil’
客户端配置
使用authconfig-gtk
或authconfig-tui
:
[root@icewalker migration]# authconfig-gtk
选择启用LDAP支持
。
LDAP Search Base DN应为dc = shadow,dc = com
LDAP服务器,我们将输入ldap://192.168.56.1
,即服务器的IP。
如何清除LDAP数据库
首先停止LDAP:
[root@icewalker ~]# service ldap stop
转到/ var / lib / ldap
目录(这是包含数据库的目录;该目录在slapd.conf
文件中指定)。
[root@icewalker ~]# cd /var/lib/ldap
使用以下方法删除所有数据库:
[root@icewalker ~]# rm *
再次启动LDAP服务并使用数据填充。