记录工作和生活点点滴滴

Centos安装openldap

概述

这里引申一下LDAP主要的简称含义:
o– organization(组织-公司)
ou – organization unit(组织单元-部门)
c – countryName(国家)
dc – domainComponent(域名)
sn – suer name(真实名称)
cn – common name(常用名称)

一,安装ldap

#yum install openldap openldap-clients openldap-servers openldap-devel compat-openldap

日志配置:

#mkdir /var/log/slapd
#chmod 755 /var/log/slapd/
#chown ldap:ldap /var/log/slapd/
#sed -i "/local4./d" /etc/rsyslog.conf
#cat >> /etc/rsyslog.conf << EOF
local4.
/var/log/slapd/slapd.log
EOF

#service rsyslog restart

生成LDAP管理员的密文密码

#slappasswd

New password :****
Re - enter new password :****
{SSHA}hHZMkvQ3bj07PYOb6emsZHZfGtXvd5g8

修改slapd.conf配置

#cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf
#mv /etc/openldap/slapd.d{,.bak}

创建数据库文件(从模版复制)生成DB_CONFIG

#cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
#chown ldap.ldap /var/lib/ldap/DB_CONFIG
#vim /etc/openldap/slapd.conf 我这里列出要修改的项

修改suffix 和rootdn,rootpw,suffix我这里用了二级域名,如果你想用主域名也可以,写成dc=ve,dc=cn,其中rootpw可以是明文,这里我们经过SSHA算法加密下

------------------------------------------------------------------------
database bdb
suffix "dc=ve,dc=cn"
checkpoint 1024 15
rootdn "cn=admin,dc=ve,dc=cn"
# 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}hHZMkvQ3bj07PYOb6emsZHZfGtXvd5g8 //这里用上面产生的密码
------------------------------------------------------------------------

测式配置文件

#slaptest -u -f /etc/openldap/slapd.conf

这里有个日志级别的问题

#slapd -d ?

------------------------------------------------------------------------
Installed log subsystems:

        Any                            (-1, 0xffffffff)记录所有的信息
        Trace                          (1, 0x1)跟踪功能调用的信息
        Packets                        (2, 0x2)包处理的debug信息
        Args                           (4, 0x4)丰富的debug信息
        Conns                          (8, 0x8)连接管理信息
        BER                            (16, 0x10)包的收发信息
        Filter                         (32, 0x20)搜索过滤的处理过程
        Config                         (64, 0x40)配置文件的处理过程
        ACL                            (128, 0x80)访问控制列表处理过程
        Stats                          (256, 0x100)连接、操作及其结果的统计数据
        Stats2                         (512, 0x200)向客户端返回的结果的统计信息
        Shell                          (1024, 0x400)与shell后端的通信信息
        Parse                          (2048, 0x800)显示记录条目的分析信息
        Sync                           (16384, 0x4000)从服务器数据同步资源消耗处理信息
        None                           (32768, 0x8000)

NOTE: custom log subsystems may be later installed by specific code
------------------------------------------------------------------------

你可以同时设置几种日志级别,方法是将日志级别的数字加起来。 比如同时设置Trace和Stats级别,那么在slapd.conf中:

#loglevel 257
或者启动OpenLDAP时,使用命令参数-d 257来指定

启动ldap服务,自动创建数据库文件

#chkconfig slapd on
#service slapd start

服务启动后,可以看到生成了几个数据库文件

#ll /var/lib/ldap/

检查搜索LDAP目录条目

#ldapsearch -x -b "dc=ve,dc=cn"

数据录入
服务器正常运作后,就可以录入信息了。信息的录入有三种方法:
手工录入 、 .ldif文件格式录入 、 web界面录入(下面会介绍phpldapadmin录入).

创建组织架构初始数据

#cd /etc/openldap

cat >> ve.cn.ldif <<EOF
dn: dc=ve,dc=cn
objectclass: dcObject
objectclass: organization
o: Ve.cn, Inc.
dc: ve

dn: cn=admin,dc=ve,dc=cn
objectclass: organizationalRole
cn: admin
EOF

ldapadd -D "cn=admin,dc=ve,dc=cn" -W -x -f ve.cn.ldif

二,安装phpldapadmin,通过 Web 端来管理您的 LDAP 服务器

#yum install httpd php php-bcmath php-gd php-mbstring php-xml php-ldap

#rpm -Uvh http://mirror-fpt-telecom.fpt.net/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
#yum install phpldapadmin

#vim /etc/httpd/conf.d/phpldapadmin.conf

-------------------------------------------------------
#
#  Web-based tool for managing LDAP servers
#

Alias /phpldapadmin /usr/share/phpldapadmin/htdocs
Alias /ldapadmin /usr/share/phpldapadmin/htdocs

<Directory /usr/share/phpldapadmin/htdocs>
  Order Deny,Allow
  Deny from all
  Allow from 127.0.0.1 192.168.62.0/24
  Allow from ::1
</Directory>
-------------------------------------------------------

#chkconfig httpd on
#service httpd start

修改phpldapadmin配置文件

#vim /etc/phpldapadmin/config.php (第397行)

-------------------------------------------------------
$servers->setValue('login','attr','dn');
//$servers->setValue('login','attr','uid');
-------------------------------------------------------
http://192.168.60.65/phpldapadmin
cn=Manager,dc=ve,dc=cn
123456

创建组织架构

**************************************  
+--> dc=ve,dc=cn (3)
---> cn=Manager
+--> ou=Group (1)
+--> ou=People (1)
| +--> ou=it (1)
| | ---> cn=席 凯
| | ---> 创建新条目
| ---> 创建新条目
---> 创建新条目
**************************************  

批量添加用户模式格式

dn: cn=席凯,ou=it,ou=People,dc=ve,dc=cn
cn: 席凯
gidnumber: 500
sn: 席
givenname: 凯
homedirectory: /home/users/1000341
mail: 1000341@ve.cn
objectclass: inetOrgPerson
objectclass: posixAccount
objectclass: top
uid: 1000341
uidnumber: 1001
userpassword: a123456

快速清除openldap配置(删除ldap数据库的数据)

#rm -rf /var/lib/ldap/*
#cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
#chown ldap.ldap /var/lib/ldap/DB_CONFIG

ldap普通用户通过phpldapadmin登陆修改自己的密码

  1. 在服务端在slapd.conf配置文件上面包含一个acl文件

    #vim /etc/openldap/slapd.conf
    include /etc/openldap/slapd.acl

  2. 编辑acl文件

    #vim /etc/openldap/slapd.acl

*******************************************************
access to attrs=userPassword,mail
      by anonymous auth
      by dn="cn=Manager,dc=ve,dc=cn" write
      by self write

access to *
      by dn="dc=ve,dc=cn" write
      by * read
*******************************************************
  1. > #service slapd restart
未经允许不得转载:许春刚技术博客 » Centos安装openldap

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址