当前位置: 首页 > 工具软件 > web2ldap > 使用案例 >

LDAP认证-ldap搭建

孔安福
2023-12-01

安装

  1. openldap

    yum -y install openldap-2.4.44-23.el7_9.x86_64.rpm 
    	openldap-servers-2.4.44-23.el7_9.x86_64.rpm 
    	openldap-clients-2.4.44-23.el7_9.x86_64.rpm 
    	openldap-devel-2.4.44-23.el7_9.x86_64.rpm 
    	openldap-servers-sql-2.4.44-23.el7_9.x86_64.rpm 
    	migrationtools-47-15.el7.noarch.rpm
    	compat-openldap-2.3.43-5.el7.x86_64.rpm 
    

    安装包说明 openldap:服务端和客户端必须用的库文件。
    openldap-servers:用于启动服务器和设置。包含单独的ldap后台守护程序。
    openldap-client:用于启动服务和设置. 包含单独的ldap后台守护程序。
    openldap-devel:devel包,可选择进行安装。 openldap-servers-sql:支持sql模块,可进行选择性安装。
    migrationtools :实现OpenLDAP用户及用户组的添加,导入系统账户 compat-openldap:兼容性库

    文件目录说明 /etc/openldap/ : OpenLDAP配置文件和目录所在位置 /etc/openldap/slapd.conf
    :OpenLDAP的主配置文件,记录根域信息,管理员名称, 密码,日志,权限等 /etc/openldap/slapd.d/ :
    slapd.conf配置信息生成的文件存放目录,每修改一次配置 信息,这里的东西就要重新生成。所有配置数据保存在/etc/openldap/slapd.d/
    /etc/openldap/schema/ : OpenLDAP的schema存放的地方 /var/lib/ldap/ :
    OpenLDAP的数据文件 /usr/share/openldap-servers/DB_CONFIG.example:模板数据库配置文件

    OpenLDAP监听的端口: 默认监听端口:389(明文数据传输) 加密监听端口:636(密文数据传输)

    查看OpenLDAP版本

    slapd -VV
    
  2. 安装和配置LDAP管理工具PHP ldapadmin

    yum -y install httpd-2.4.6-97.el7.centos.x86_64.rpm \
    	php-5.4.16-48.el7.x86_64.rpm \
    	php-bcmath-5.4.16-48.el7.x86_64.rpm \
    	php-gd-5.4.16-48.el7.x86_64.rpm \
    	php-ldap-5.4.16-48.el7.x86_64.rpm \
    	php-xml-5.4.16-48.el7.x86_64.rpm \
    	php-mbstring-5.4.16-48.el7.x86_64.rpm \
    	php-pear-1.9.4-22.el7.noarch.rpm 
    yum -y install epel-release
    yum  -y install phpldapadmin-1.2.5-1.el7.noarch.rpm
    ln -s /usr/share/phpldapadmin /var/www
    cd /var/www/phpldapadmin/config
    cp config.php config_backup.php 
    

    创建关键目录

    mkdir /data/ladp/data/data
    mkdir /data/ladp/data/ldif
    mkdir /data/ladp/data/users
    mkdir /data/ladp/data/groups
    chown ldap:ldap /data/ladp/data/
    
  3. 修改配置文件

    1、配置OpenLDAP的管理员密码

    slappasswd -s hadoop
    {SSHA}ZdIRX6V2ucyEAu2PIxHQ5TRwEAVkjU0U
    

    2、修改olcDatabase={2}hdb.ldif文件

    vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}hdb.ldif
    末尾添加一行:
    (注意,这里是上面的密码,它上面不要有空行)
    olcRootPW: {SSHA}MIVQMrNlAJoNug/jA3Q/5XE/TSaAcGvi
    修改:
    olcSuffix: dc=caoxuekun,dc=com
    olcRootDN: cn=Manager,dc=caoxuekun,dc=com
    olcDbDirectory: /data/ladp/data
    

    3、修改olcDatabase={1}monitor.ldif文件

    vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{1\}monitor.ldif
    olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=extern
     al,cn=auth" read by dn.base="cn=Manager,dc=caoxuekun,dc=com" read by * none
    

    4、配置OpenLDAP数据库

    cp /usr/share/openldap-servers/DB_CONFIG.example  /data/ladp/data/DB_CONFIG
    chown ldap:ldap /data/ladp/data/*
    chmod 700 -R /data/ladp/data/*
    

    5、启动ldap

    systemctl start slapd
    systemctl status slapd
    

    6、添加需要的schemas

    ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
    ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif 
    ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
    

    7、修改migrate_common.ph文件

    vim /usr/share/migrationtools/migrate_common.ph
    $DEFAULT_MAIL_DOMAIN = "caoxuekun.com";
    $DEFAULT_BASE = "dc=caoxuekun,dc=com";
    $EXTENDED_SCHEMA = 1;
    

    8、开启OpenLDAP日志访问功能
    新建日志配置ldif文件

    cat > /data/ladp/data/ldif/loglevel.ldif << "EOF"
    dn: cn=config
    changetype: modify
    replace: olcLogLevel
    olcLogLevel: stats
    EOF
    

    导入到OpenLDAP中,并重启OpenLDAP服务,如下:

    ldapmodify -Y EXTERNAL -H ldapi:/// -f /data/ladp/data/ldif/loglevel.ldif 
    systemctl restart rsyslog
    

    9、修改ldapadmin配置文件

    vim /etc/phpldapadmin/config.php
    #397行取消注释,398行添加注释
    $servers->setValue('login','attr','dn');
    // $servers->setValue('login','attr','uid');
    //添加一行:
    $servers->setValue('server','host','192.168.106.134');
    
    vim /etc/httpd/conf.d/phpldapadmin.conf
      <IfModule mod_authz_core.c>
        # Apache 2.4
        Require local
        # 添加一行内容,指定访问的ip端
        #Require 192.168.106.134
        Require all granted
      </IfModule>
      <IfModule !mod_authz_core.c>
        # Apache 2.2
        Order Deny,Allow
        Allow from all
        #Deny from all
        #Allow from 127.0.0.1
        #Allow from ::1
    

启动服务&&查看服务

  1. 验证配置文件是否正确

    slaptest -u
    
  2. 启动

    systemctl enable slapd
    systemctl restart slapd
    systemctl status slapd
    
  3. 查看监听端口389

    netstat -anpl | grep 389
    systemctl enable httpd
    systemctl start httpd
    systemctl status httpd
    
  4. 登录web控制台

    http://192.168.106.134/phpldapadmin/
    用户名:cn=Manager,dc=caoxuekun,dc=com
    密码:hadoop

喜欢的亲可以关注点赞评论哦!以后每天都会更新的哦!本文为小编原创文章; 文章中用到的文件、安装包等可以加小编联系方式获得;
欢迎来交流小编联系方式VX:CXKLittleBrother 进入运维交流群

 类似资料: