LDAP基础安装配置

2024-06-13 01:32
文章标签 基础 配置 安装 ldap

本文主要是介绍LDAP基础安装配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • LDAP 安装配置
    • 环境
      • 配置 LDAP server 与 client 互通
    • LDAP 安装
      • 安装基础包
    • 配置 LDAP
      • 准备
      • 配置
    • 启动 LDAP 日志记录
    • 客户端配置
      • LDAP客户端配置以使用LDAP服务器
    • 验证 LDAP 登录

LDAP 安装配置

使用 EPEL 最新版本 LDAP 进行安装配置

环境

Host NameIp AddressosRole
ldap-server172.16.10.220CentOS Linux release 7.5.1804LDAP Server
ldap-client172.16.10.10CentOS Linux release 7.5.1804LDAP Client

配置 LDAP server 与 client 互通

# cat /etc/hosts
172.16.10.220 ldap-server
172.16.10.10 ldap-client

LDAP 安装

安装基础包

  1. 配置 epel 源

    # yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    # yum clean all && yum makecache
    
  2. 安装基础包

    # yum -y install openldap compat-openldap openldap-servers openldap-clients openldap-servers-sql openldap-devel
  3. 启动 LDAP 服务并开机启动

    # systemctl start slapd && systemctl enable slapd && systemctl status slapd
    
  4. 验证 LDAP 启动信息

    # netstat -ntupl | grep LISTEN | grep -i 389
    

    输出:

    tcp        0      0 0.0.0.0:389             0.0.0.0:*               LISTEN      1355/slapd
    tcp6       0      0 :::389                  :::*                    LISTEN      1355/slappasswd
    

配置 LDAP

准备

配置 LDAP 管理原密码

# slappasswd -h {SSHA} -s FCzxpJWCccuB
{SSHA}44gsVwtbroqGajIMm/rA3QFEQRHRZIRW

配置

OpenLDAP服务器配置文件位于 /etc/openldap/slapd.d/ 。要开始配置LDAP,我们需要更新变量 “olcSuffix” 和 “olcRootDN“

  • olcSuffix - 数据库后缀,它是LDAP服务器提供信息的域名。简单来说,更改为自己的域名。

  • olcRootDN - 具有对LDAP执行所有管理活动的无限制访问权限的用户的根专有名称(DN)条目,如root用户。

  • olcRootPW - 上述RootDN的LDAP管理员密码。

以上条目需要在/etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif文件中更新。建议不要手动编辑LDAP配置,因为每次运行ldapmodify命令时都会丢失更改。

使用单独配置进行配置和导入到 LDAP

  1. DB

    配置 DB

    # cat db.ldif
    dn: olcDatabase={2}hdb,cn=config
    changetype: modify
    replace: olcSuffix
    olcSuffix: dc=laoshiren,dc=com # 此处 `dc`更改为自己的域名dn: olcDatabase={2}hdb,cn=config
    changetype: modify
    replace: olcRootDN
    olcRootDN: cn=manager,dc=laoshiren,dc=com # 此处`cn`:为管理用户、`dc`都更改为自己的配置dn: olcDatabase={2}hdb,cn=config
    changetype: modify
    replace: olcRootPW
    olcRootPW: {SSHA}44gsVwtbroqGajIMm/rA3QFEQRHRZIRW

    推送 DB 到 LDAP

    # ldapmodify -Y EXTERNAL  -H ldapi:/// -f db.ldif
    SASL/EXTERNAL authentication started
    SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
    SASL SSF: 0
    modifying entry "olcDatabase={2}hdb,cn=config"modifying entry "olcDatabase={2}hdb,cn=config"modifying entry "olcDatabase={2}hdb,cn=config"
    

    设置数据库文件

    # 将示例数据库配置文件复制到/var/lib/ldap并更新文件权限。
    # cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
    # chown ldap:ldap /var/lib/ldap/*

    添加cosine和nis LDAP模式

    ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
    SASL/EXTERNAL authentication started
    SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
    SASL SSF: 0
    adding new entry "cn=cosine,cn=schema,cn=config"ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
    SASL/EXTERNAL authentication started
    SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
    SASL SSF: 0
    adding new entry "cn=nis,cn=schema,cn=config"ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
    SASL/EXTERNAL authentication started
    SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
    SASL SSF: 0
    adding new entry "cn=inetorgperson,cn=schema,cn=config"
  2. 监控

    对/etc/openldap/slapd.d/cn=config/olcDatabase={1 }monitor.ldif (不要手动编辑)文件进行更改,以仅将监视器访问限制为ldap root(ldapadm)用户而不是其他用户。

    配置 monitor

    # cat monitor.ldif
    dn: olcDatabase={1}monitor,cn=config
    changetype: modify
    replace: olcAccess
    olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external, cn=auth" read by dn.base="cn=manager,dc=laoshiren,dc=com" read by * none
    

    推送 monitor 到 LDAP

    # ldapmodify -Y EXTERNAL  -H ldapi:/// -f monitor.ldif
    SASL/EXTERNAL authentication started
    SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
    SASL SSF: 0
    modifying entry "olcDatabase={1}monitor,cn=config"
    
  3. 生成 bash 文件(为设置的域)

    # cat base.ldif
    dn: dc=laoshiren,dc=com
    dc: laoshiren
    objectClass: top
    objectClass: domaindn: cn=manager ,dc=laoshiren,dc=com
    objectClass: organizationalRole
    cn: manager
    description: LDAP Managerdn: ou=People,dc=laoshiren,dc=com
    objectClass: organizationalUnit
    ou: Peopledn: ou=Group,dc=laoshiren,dc=com
    objectClass: organizationalUnit
    ou: Group

    构建目录结构

    # ldapadd -x -W -D "cn=manager,dc=laoshiren,dc=com" -f base.ldif
    Enter LDAP Password: # 配置 LDAP 管理原密码
    adding new entry "dc=laoshiren,dc=com"adding new entry "cn=manager ,dc=laoshiren,dc=com"adding new entry "ou=People,dc=laoshiren,dc=com"adding new entry "ou=Group,dc=laoshiren,dc=com"
    
  4. 使用命令创建用户

    创建用户的配置文件

    # cat laoshiren.ldif
    dn: uid=laoshiren,ou=People,dc=laoshiren,dc=com
    objectClass: top
    objectClass: account
    objectClass: posixAccount
    objectClass: shadowAccount
    cn: laoshiren
    uid: laoshiren
    uidNumber: 9999
    gidNumber: 100
    homeDirectory: /home/laoshiren
    loginShell: /bin/bash
    gecos: Laoshiren [Admin (at) laoshiren]
    userPassword: {crypt}x
    shadowLastChange: 17058
    shadowMin: 0
    shadowMax: 99999
    shadowWarning: 7

    使用ldapadd在 OpenLDAP 中春构建名为laoshiren的新用户

    # ldapadd -x -W -D "cn=manager,dc=laoshiren,dc=com" -f laoshiren.ldif
    Enter LDAP Password:#管理员密码
    adding new entry "uid=laoshiren,ou=People,dc=laoshiren,dc=com"
    

    为用户分配密码

    # ldappasswd -s 123456 -W -D "cn=manager,dc=laoshiren,dc=com" -x "uid=laoshiren,ou=People,dc=laoshiren,dc=com"

    参数

    -s: 指定用户名的密码
    -x: 用户名,密码已更改
    -D: 要对LDAP服务器进行身份验证的可分辨名称
    

    验证 LDAP 条目

    # ldapsearch -x cn=laoshiren -b dc=laoshiren,dc=com
    # extended LDIF
    #
    # LDAPv3
    # base <dc=laoshiren,dc=com> with scope subtree
    # filter: cn=laoshiren
    # requesting: ALL
    ## laoshiren, People, laoshiren.com
    dn: uid=laoshiren,ou=People,dc=laoshiren,dc=com
    objectClass: top
    objectClass: account
    objectClass: posixAccount
    objectClass: shadowAccount
    cn: laoshiren
    uid: laoshiren
    uidNumber: 9999
    gidNumber: 100
    homeDirectory: /home/laoshiren
    loginShell: /bin/bash
    gecos: Laoshiren [Admin (at) laoshiren]
    shadowLastChange: 17058
    shadowMin: 0
    shadowMax: 99999
    shadowWarning: 7
    userPassword:: e1NTSEF9NG8yNDV1SGZuSEwxaEh0K1FPVlhnY1lYVDRJcGN0MTU=# search result
    search: 2
    result: 0 Success# numResponses: 2
    # numEntries: 1
    

启动 LDAP 日志记录

配置Rsyslog以将LDAP事件记录到日志文件/var/log/ldap.log

# vim /etc/rsyslog.conf
# 文件末尾增加
local4.* /var/log/ldap.log
# 重启 rsyslog 服务
systemctl restart rsyslog

客户端配置

LDAP客户端配置以使用LDAP服务器

  1. 准备

    # yum install -y openldap-clients nss-pam-ldapd
    
  2. 添加客户端到 LDAP 服务器端进行单点登录

    authconfig --enableldap --enableldapauth --ldapserver=172.16.10.220 --ldapbasedn="dc=laoshiren,dc=com" --enablemkhomedir --update
  3. 重启 LDAP 客户端服务

    systemctl restart nslcd && systemctl status nslcd
    

验证 LDAP 登录

  • 使用getent命令从LDAP服务器获取LDAP条目(用户信息)

    # getent passwd laoshiren
    
  • 输出:

    laoshiren:x:9999:100:Laoshiren [Admin (at) laoshiren]:/home/laoshiren:/bin/bash
    
  • 验证登录

这篇关于LDAP基础安装配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1055910

相关文章

Win安装MySQL8全过程

《Win安装MySQL8全过程》:本文主要介绍Win安装MySQL8全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Win安装mysql81、下载MySQL2、解压文件3、新建文件夹data,用于保存数据库数据文件4、在mysql根目录下新建文件my.ini

SpringBoot3.4配置校验新特性的用法详解

《SpringBoot3.4配置校验新特性的用法详解》SpringBoot3.4对配置校验支持进行了全面升级,这篇文章为大家详细介绍了一下它们的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考... 目录基本用法示例定义配置类配置 application.yml注入使用嵌套对象与集合元素深度校验开发

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

最详细安装 PostgreSQL方法及常见问题解决

《最详细安装PostgreSQL方法及常见问题解决》:本文主要介绍最详细安装PostgreSQL方法及常见问题解决,介绍了在Windows系统上安装PostgreSQL及Linux系统上安装Po... 目录一、在 Windows 系统上安装 PostgreSQL1. 下载 PostgreSQL 安装包2.

Maven如何手动安装依赖到本地仓库

《Maven如何手动安装依赖到本地仓库》:本文主要介绍Maven如何手动安装依赖到本地仓库问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、下载依赖二、安装 JAR 文件到本地仓库三、验证安装四、在项目中使用该依赖1、注意事项2、额外提示总结一、下载依赖登

CentOS7更改默认SSH端口与配置指南

《CentOS7更改默认SSH端口与配置指南》SSH是Linux服务器远程管理的核心工具,其默认监听端口为22,由于端口22众所周知,这也使得服务器容易受到自动化扫描和暴力破解攻击,本文将系统性地介绍... 目录引言为什么要更改 SSH 默认端口?步骤详解:如何更改 Centos 7 的 SSH 默认端口1

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

SpringBoot多数据源配置完整指南

《SpringBoot多数据源配置完整指南》在复杂的企业应用中,经常需要连接多个数据库,SpringBoot提供了灵活的多数据源配置方式,以下是详细的实现方案,需要的朋友可以参考下... 目录一、基础多数据源配置1. 添加依赖2. 配置多个数据源3. 配置数据源Bean二、JPA多数据源配置1. 配置主数据