RHEL6 配置LDAP认证服务更新.docx
《RHEL6 配置LDAP认证服务更新.docx》由会员分享,可在线阅读,更多相关《RHEL6 配置LDAP认证服务更新.docx(14页珍藏版)》请在冰豆网上搜索。
RHEL6配置LDAP认证服务更新
RHEL6下配置LDAP认证服务
(1)安装LDAP相关软件
你现在准备安装软件;这通常需要超级用户权限:
#yumlistopenldap*
#yuminstall-yopenldapopenldap-clientsopenldap-servers
(2)配置LDAP的域信息
#cd/etc/openldap
#ls
你会看到以下几个文件。
:
cacertsldap.confschemaslapd.conf.bakslapd.d
编辑配置文件。
首先你改名或移动openldap的配置文件目录lapd.d,不然它不会读/etc/openldap/slapd.conf
#mvslapd.d~/slapd.d-bak//移动到/root下
#mvslapd.conf.bakslapd.conf
然后,修改配置文件slapd.conf
#vislapd.conf
找到并修改如下内容:
suffix"dc="//设置主机名前缀
rootdn"cn=Manager,dc="//设置域
rootpwchenggefeng//取消左侧的注释和左侧的空格。
后面的ldapadd命令要用的密码,中间用俩TAB键分割,然后保存修改并退出。
#slaptest-u-fslapd.conf//测试配置文件是否正确
configfiletestingsucceeded
需要特别注意的是rootpw和chenggefeng之间必须是2个tab健,否则在后面测试的时候会报错。
(3)创建数据库文件(从模板复制产生)
#cd/var/lib/ldap
复制模板文件,不然重启的时候会报错valid(49)说是不合法的密码的错误。
#cp/usr/share/doc/openldap-servers-2.4.19/DB_CONFIG.example./
#mvDB_CONFIG.exampleDB_CONFIG
#chownldap.ldapDB_CONFIG*//这里要添加*,否则后面启动服务会有警告
(4)启动LDAP服务
#/etc/init.d/slapdstart
或用如下命令:
#serviceslapdstart
#chkconfigslapdon//服务加入启动管理器中
此时你在/var/lib/ldap执行ll命令会看到一些db文件。
#ll/var/lib/ldap
-rw-r--r--.1ldapldap2048Feb2615:
53alock
-rw-------.1ldapldap24576Feb2615:
53__db.001
-rw-------.1ldapldap17637376Feb2615:
53__db.002
-rw-------.1ldapldap335552512Feb2615:
53__db.003
-rw-------.1ldapldap2359296Feb2615:
53__db.004
-rw-------.1ldapldap802816Feb2615:
53__db.005
-rw-------.1ldapldap32768Feb2615:
53__db.006
-rw-r--r--.1ldapldap921Feb2615:
51DB_CONFIG
-rw-------.1ldapldap8192Feb2615:
53dn2id.bdb
-rw-------.1ldapldap32768Feb2615:
53id2entry.bdb
-rw-------.1ldapldap10485760Feb2615:
53log.0000000001
(5)检查搜索域
#ldapsearch-x-b"dc="
Ø-b指定用作搜索起始点的专有名称。
使用引号来指定该值
Ø-x用于对搜索得到的信息进行排序。
#extendedLDIF
#
#LDAPv3
#basewithscopesubtree
#filter:
(objectclass=*)
#requesting:
ALL
#
#searchresult
search:
2
result:
32Nosuchobject
#numResponses:
1
可能出现如下错误,原因是忘记了-x参数:
ASL/GSSAPIauthenticationstarted
ldap_sasl_interactive_bind_s:
Localerror(-2)
additionalinfo:
SASL(-1):
genericfailure:
GSSAPIError:
UnspecifiedGSSfailure.Minorcodemayprovidemoreinformation(Credentialscachefile'/tmp/krb5cc_0'notfound)
(6)创建待认证的用户
#useraddldapuser1
#echo"123456"|passwd--stdinldapuser1
#useraddldapuser2
#echo"123456"|passwd--stdinldapuser2
#useraddldapuser3
#echo"123456"|passwd--stdinldapuser3
(7)安装迁移工具migrationtools
#cd/usr/share/doc/openldap-servers-2.4.19/
#lessREADME.migration(这个命令可以不操作,只是提醒读者)
AsfromFedora9,MigrationToolsareshippedasseparatepackage.
Install"migrationtools"packagetogetthem,e.g.:
帮助文档需要你安装migrationtools
#yuminstallmigrationtools-y
安装成功之后会在/usr/share下出现migrationtools
#cd/usr/share/migrationtools
#ls
migrate_aliases.plmigrate_all_offline.shmigrate_hosts.plmigrate_protocols.pl
migrate_all_netinfo_offline.shmigrate_all_online.sh
migrate_netgroup_byhost.plmigrate_rpc.pl
migrate_all_netinfo_online.shmigrate_automount.pl
migrate_netgroup_byuser.plmigrate_services.pl
migrate_all_nis_offline.shmigrate_base.plmigrate_netgroup.plmigrate_slapd_conf.pl
migrate_all_nis_online.shmigrate_common.phmigrate_networks.pl
migrate_all_nisplus_offline.shmigrate_fstab.plmigrate_passwd.pl
migrate_all_nisplus_online.shmigrate_group.plmigrate_profile.pl
可以看到,有一组Perl脚本被安装到/usr/share/openldap/migration/中执行迁移。
这些Perl脚本的配置信息包含在migrate_common.ph文件的开头。
对于我们来说,只需要修改命名前缀的变量来使用条目的识别名就足够了,如下所示:
#vimigrate_common.ph
修改如下一些内容:
#DefaultDNSdomain
$DEFAULT_MAIL_DOMAIN="";
#Defaultbase
$DEFAULT_BASE="dc=";
在进行这些修改之后,请运行脚本migrate_base.pl,它会创建根项,并为Hosts、Networks、Group和People等创建低一级的组织单元。
(8)创建认证账户文件
几个主要的概念:
dn:
一条记录的位置
dc:
一条记录所属区域
ou:
一条记录所属组织
cn/uid:
一条记录的名字/ID
Ø创建基本的数据库文件:
#./migrate_base.pl>base.ldif
编辑修改刚才产生的文件:
#vimbase.ldif
删除除下面之外的所有条目:
dn:
dc=
dc:
objectClass:
top
objectClass:
domain
dn:
ou=People,dc=
ou:
People
objectClass:
top
objectClass:
organizationalUnit
dn:
ou=Group,dc=
ou:
Group
objectClass:
top
objectClass:
organizationalUnit
Ø创建用户数据库文件:
#./migrate_passwd.pl/etc/passwd./user.ldif
编辑user.ldif
#vimuser.ldif
删除除下面之外的所有条目:
dn:
uid=ldapuser1,ou=People,dc=
uid:
ldapuser1
cn:
ldapuser1
..........
homeDirectory:
/home/ldapuser1
dn:
uid=ldapuser2,ou=People,dc=
uid:
ldapuser2
cn:
ldapuser2
............
homeDirectory:
/home/ldapuser2
dn:
uid=ldapuser3,ou=People,dc=
uid:
ldapuser3
cn:
ldapuser3
............
homeDirectory:
/home/ldapuser3
然后执行如下命令进行检测:
#ldapsearch-x-b-L"dc="
extendedLDIF
#
#LDAPv3
#base<-L>withscopesubtree
#filter:
dc=
#requesting:
ALL
#
#searchresult
search:
2
result:
34InvalidDNsyn