LDAP用户验证在CentOS 5.x上

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-gtkauthconfig-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服务并使用数据填充。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏