fedora 20 与 centos 6.5 搭建openldap服务器心得

目标:使用ldap做为系统用户的数据目录,基于web管理ldap数据。

  1. 安装

    使用 YUM 安装方式 ,由于要使用web方式管理LDAP服务器,也要安装APACHE、PHP和ldap相关的软件包,要想通过ldap验证用户,一定要安装nss-pam-ldapd和pam_ldap。web管理使用ldap-account-manager或phpldapadmin,lam和phpldapadmin可以直接用rpm包安装。centos 6.5 使用openldap 2.4.23, fedora 使用openldap 2.4.39。系统用户文件转换为ldif使用migrationtools工具。

  2. 配置方面

    centos 6.5



    1. 使用/usr/share/openldap-servers/slapd.conf.obsolete 转换为/etc/openldap/slapd.d 文件�A方式,要先建好slapd.d 文件�A,不然会报错,转换完成后要变更slapd.d 文件�A的所有者 :chown -R ldap:ldap /etc/openldap/slapd.d。

    2. 确认配置无误后运行:slapd ,会在/var/lib/ldap文件�A下产生数据库文件,同时要把/usr/share/openldap-servers/DB_CONFIG.example 复制为/var/lib/ldap/DB_CONFIG。完成后更改所有者:chown -R ldap:ldap /var/lib/ldap。然后可以启动服务:service slapd start。

    fedora 20

    要将/usr/share/openldap-servers/slapd.ldif 转换为/etc/openldap/slapd.d 文件�A,使用命令:ldapadd -F /etc/openldap/slapd.d -n 0 -f /usr/share/openldap-servers/slapd.ldif。fedora 20 要在转换前编辑slapd.ldif 文件配置服务,转换后不能手动更改slapd.d文件�A下文件,要使用ldapmodify 命令编辑,不然会报错,服务起不来,centos 6.5 可以直接编辑slapd.d 文件�A下文件。注意:fedora下要提前把schema写入slapd.ldif,默认只包括了一个core.ldif schema,不自己添加的话,后面使用ldapadd 命令的时候会提示语法错误。以后添加数据的时候看见语法错误都要看一看schema 里面有没有相应的数据类型。然后同centos 第2步。

  3. 制作系统用户ldif文件,进入到/usr/share/migrationtools文件�A下,运行名字包括base,group,passwd,的脚本产生ldif文件。编辑group,passwd产生的ldif文件,只保留自己添加的用户数据。然后用ldapadd 命令添加到ldap服务器:ldapadd -x -D "cn=Manager,dc=home,dc=com" -h 127.0.0.1 -p 389 -W -f base.ldif。 都加入后可以用ldapsearch 查询:ldapsearch -x -b dc=home,dc=com -H ldap:///

  4. 数据制作完成后要启用用户用ldap所存用户数据验证登陆系统,首先要把系统中与ldap服务器中相同的用户数据删除,包括/etc/passwd-、/etc/shadow-、/etc/group-中数据。修改/etc/sysconfig/authconfig中的:FORCELEGACY=no 改为:FORCELEGACY=yes,(不使用sssd服务),使用命令:authconfig --enableldap --enableldapauth --enablemkhomedir --ldapserver=xj.home.com --ldapbasedn="dc=home,dc=com" --update,启用使用ldap中用户数据。(在使用sssd服务时使用tls加密可能不会出错,但是不用tls加密情况下会出现用户无法登陆,提示incorrect password错误,)。同时编辑/etc/nsswich.conf文件,其中几条改为

    passwd:     files ldap

    shadow:     files ldap

    group:      files ldap

  5. 以上完成后真接用ldap中用户登陆无提示错误。

  6. 使用web管理ldap时,在fedora 下要开启selinux 布尔值,setsebool -P httpd_can_connect_ldap 1,不然selinux会提示错误,网页提示无法访问ldap服务。个人建议用lam,配置简单。


你可能感兴趣的:(fedora,openLdap,centos6.5)