热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS7.2部署OpenLDAP服务器以及客户端

一、安装与启动1、安装与启停控制OpenLDAP#yum-yinstallopenldapopenldap-serversopenldap-clientsopenldap-de

一、安装与启动


1、安装与启停控制OpenLDAP

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

在这里插入图片描述


2、启动slapd服务并设置开机启动

#systemctl start slapd
#systemctl enable slapd

在这里插入图片描述


二、配置OpenLDAP服务器以及相关服务


1、配置OpenLDAP用户认证服务


1)配置OpenLDAP服务器主机名以及FQDN域名解析

#hostnamectl set-hostname fl.fl.com //设置主机名为fl.fl.com
#echo "fl.fl.com" >> /etc/hostname

#配置域名解析

#vi /etc/hosts //添加如下内容

在这里插入图片描述


2)生成OpenLDAP服务器全局连接密码

调用slappasswd对管理员密码进行加密

#slappasswd -s passwd000000 -n > /etc/openldap/passwd
#cat /etc/openldap/passwd

在这里插入图片描述


3)创建x509认证本地LDAP服务证书

LDAP目录服务以明文的方式在网络中传输数据和密码,不安全,所以采用TLS加密机制来处理此问题,使用openssl工具生成X509格式的证书文件(有效期365天)
使用如下命令

#openssl req -new -x509 -nodes -out /etc/openldap/certs/cert.pem -keyout /etc/openldap/certs/priv.pem -days 365

在这里插入图片描述


4)、修改LDAP证书所属组和权限

#chown -R ldap:ldap /etc/openldap/certs/*
#chmod 600 /etc/openldap/certs/priv.pem

在这里插入图片描述


5)、生成LDAP数据库并设置权限

#cp -v /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

在这里插入图片描述

#slaptest

在这里插入图片描述

#chown ldap.ldap /var/lib/ldap/DB_CONFIG

在这里插入图片描述

#slaptest

在这里插入图片描述


6)、设置LDAP日志文件保存日志信息

#echo ‘local4.* /var/log/ldap.log’ >> /etc/rsyslog.conf
#systemctl restart rsyslog
#systemctl enable rsyslog

在这里插入图片描述


7)、安装并设置httpd服务

#yum -y install httpd

在这里插入图片描述

# cp /etc/openldap/certs/cert.pem /var/www/html/

在这里插入图片描述

#systemctl restart httpd
#systemctl enable httpd

在这里插入图片描述

测试httpd服务器是否正常工作

# wget http://fl.fl.com/cert.pem

在这里插入图片描述
在这里插入图片描述


8、设置防火墙和SELinux策略(若已关闭防火墙和SElinux则可忽略此步骤)

#firewall-cmd --permanent --add-service=ldap
#firewall-cmd --add-service=http --permanent

在这里插入图片描述

#firewall-cmd --reload
#setenforce 0

在这里插入图片描述


2、创建OpenLDAP用户和用户组


1)配置基础用户认证结构

# cd /etc/openldap/schema/
# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f cosine.ldif

在这里插入图片描述

# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f nis.ldif

在这里插入图片描述


2)自定义LDIF文件并导入LDAP服务器

(1)创建/etc/openldap/changes.ldif文件,并配置


vi /etc/openldap/changes.ldif

//添加如下内容

dn:olcDatabase={2}hdb,cn=config
changetype:modify
replace:olcSuffix
olcSuffix:dc=fl,dc=comdn:olcDatabase={2}hdb,cn=config
changetype:modify
replace:olcRootDN
olcRootDN:cn=Manager,dc=fl,dc=comdn:olcDatabase={2}hdb,cn=config
changetype:modify
replace:olcRootPW
olcRootPW:{SSHA}4P124Z9SfxL+Sq6436wEMXEjki5ycDdp//此处为你之前生成的密钥dn:cn=config
changetype:modify
replace:olcTLSCertificateFile
olcTLSCertificateFile:/etc/openldap/cert/cert.pemdn:cn=config
changetype:modify
replace:olcTLSCertificateKeyFile
olcTLSCertificateKeyFile:/etc/openldap/cert/priv.pemdn:cn=config
changetype:modify
replace:olcLogLevel
olcLogLevel:-1dn: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=fl,dc=com" read by * none

在这里插入图片描述


(2)将新的配置文件更新到slapd服务程序

#ldapmodify -Y EXTERNAL -H ldapi:/// -f /etc/openldap/changes.ldif

在这里插入图片描述


(3)创建/etc/openldap.base.ldif文件


vi /etc/openldap/base.ldif

#base.ldif
dn:dc=fl,dc=com
dc:fl
objectClass:top
objectClass:domaindn:ou=People,dc=fl,dc=com
ou:People
objectClass:top
objectClass:organizationalUnitdn:ou=Group,dc=fl,dc=com
ou:Group
objectClass:top
objectClass:organizationalUnit

在这里插入图片描述


(4)创建目录的结构服务

# ldapadd -x -W -D cn=Manager,dc=fl,dc=com -f /etc/openldap/base.ldif

在这里插入图片描述


3、创建Linux本地用户和本地用户组

# mkdir /home/guests
# useradd -d /home/guests/ldap1 ldapuser1
# passwd ldapuser1

在这里插入图片描述


4、迁移本地账号为LDAP账号


1)安装并设置migrationtools

# yum -y install migrationtools

在这里插入图片描述

# vi /usr/share/migrationtools/migrate_common.ph

修改71行和74行,注释掉原有内容,添加如下内容

$DEFAULT_MAIL_DOMAIN = "fl.com";
$DEFAULT_BASE = "dc=fl,dc=com";

在这里插入图片描述


2)将当前系统中的用户迁移至目录服务

# cd /usr/share/migrationtools/
# grep ":10[0-9][0-9]" /etc/passwd > passwd
# ./migrate_passwd.pl passwd users.ldif
# ldapadd -x -w passwd000000 -D cn=Manager,dc=fl,dc=com -f users.ldif

在这里插入图片描述


3)将当前系统中的用户组迁移至目录服务

# grep ":10[0-9][0-9]" /etc/group > group
# ./migrate_group.pl group groups.ldif
# ldapadd -x -w passwd000000 -D cn=Manager,dc=fl,dc=com -f groups.ldif

在这里插入图片描述
在这里插入图片描述


5、测试LDAP用户配置文件

# ldapsearch -x cn=ldapuser1 -b dc=fl,dc=com

在这里插入图片描述

#cat /etc/passwd |grep ldapuser


id ldapuser1

在这里插入图片描述


三、配置OpenLDAP客户端及相关服务


请准备另一台虚拟机,作为客户端,保证2台虚拟机在同一网段中


1、配置LDAP客户端


1)配置客户端IP和域名解析

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

修改静态IP地址为 192.168.100.21
在这里插入图片描述
在这里插入图片描述


vi /etc/hosts

在这里插入图片描述

测试 ping fl.fl.com
在这里插入图片描述


2)安装客户端所需软件包

# yum -y install openldap-clients nss-pam-ldapd authconfig-gtk pam_krb5

在这里插入图片描述


3)运行并设置客户端认证工具


(①以GUI GNOME为例)


以下二选一 ①或②

# system-config-authentication

在这里插入图片描述
在这里插入图片描述
然后单击【下载CA证书】按钮,在弹出的框内,填写服务器上的证书地址
在这里插入图片描述
在这里插入图片描述
配置认证

#authconfig --enableldap --enableldapauth --ldapserver="fl.fl.com" --ldapbasedn="dc=fl,dc=com" --update
#authconfig --enableldaptls --update

在这里插入图片描述

#cd /etc/openldap/cacerts
#wget http://fl.fl.com/cert.pem

②若您不是GNOME界面,也可使用如下命令进行操作,以命令界面为例

修改配置文件
1、/etc/nsswitch.conf 配置文件
33-35行修改为如下内容
在这里插入图片描述
58行
在这里插入图片描述

62行
在这里插入图片描述
配置认证

#authconfig --enableldap --enableldapauth --ldapserver="fl.fl.com" --ldapbasedn="dc=fl,dc=com" --update
#authconfig --enableldaptls --update

在这里插入图片描述


authconfig-tui

在这里插入图片描述
在这里插入图片描述


4)验证是否可用LDAP全局账号

# id ldapuser1

在这里插入图片描述


2、挂载LDAP用户目录客户端,请在服务器端进行操作


1)在LDAP服务器上配置NFS服务

安装NFS服务

# yum -y install nfs-utils rpcbind

在这里插入图片描述


vi /etc/exports

/home/guests/ldap1 192.168.100.20(rw,sync,root_squash)

在这里插入图片描述


systemctl restart nfs-server rpcbind //重启nfs-server和rpcbind服务

#systemctl enable nfs-server rpcbind

在这里插入图片描述


showmount -e 192.168.100.20 //显示NFS服务端的共享列表

在这里插入图片描述
2)在LDAP客户机上设置自动挂载
(1)修改/home目录权限
chmod 1777 /home/
在这里插入图片描述


(2)手动挂载LDAP用户主目录到客户端

#showmount -e 192.168.100.20

在这里插入图片描述

#mkdir /home/guests/ldap1 -p //创建本地挂载点,作为LDAP账号的主目录。
#mount -t nfs fl.fl.com:/home/guests/ldap1 /home/guests/ldap1

在这里插入图片描述

#su - ldapuser1 //再次尝试切换到ldapuser1用户

在这里插入图片描述

(3)设置开机自动挂载LDAP用户主目录
#vi /etc/fstab
192.168.100.20:/home/guests/ldap1 /home/guests/ldap1 nfs defaults 0 0 //增加的配置行
在这里插入图片描述


推荐阅读
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • linux clickhouse安装在指定目录_Centos8服务器指定目录安装配置Nginx
    1.安装前准备(1)检查是否安装过nginx(如果没有安装过可以无视)find-namenginx搜索nginx文件及其文件夹rm-rf【nginx配置地址文件及其文件夹】手动删除 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • web.py开发web 第八章 Formalchemy 服务端验证方法
    本文介绍了在web.py开发中使用Formalchemy进行服务端表单数据验证的方法。以User表单为例,详细说明了对各字段的验证要求,包括必填、长度限制、唯一性等。同时介绍了如何自定义验证方法来实现验证唯一性和两个密码是否相等的功能。该文提供了相关代码示例。 ... [详细]
  • 集成电路企业在进行跨隔离网数据交换时面临着安全性问题,传统的数据交换方式存在安全性堪忧、效率低下等问题。本文以《Ftrans跨网文件安全交换系统》为例,介绍了如何通过丰富的审批流程来满足企业的合规要求,保障数据交换的安全性。 ... [详细]
  • 从Oracle安全移植到国产达梦数据库的DBA实践与攻略
    随着我国对信息安全和自主可控技术的重视,国产数据库在党政机关、军队和大型央企等行业中得到了快速应用。本文介绍了如何降低从Oracle到国产达梦数据库的技术门槛,保障用户现有业务系统投资。具体包括分析待移植系统、确定移植对象、数据迁移、PL/SQL移植、校验移植结果以及应用系统的测试和优化等步骤。同时提供了移植攻略,包括待移植系统分析和准备移植环境的方法。通过本文的实践与攻略,DBA可以更好地完成Oracle安全移植到国产达梦数据库的工作。 ... [详细]
  • phpstudy云服务器安装,如何安装phpstudy
    本文目录一览:1、phpstudy安装在哪本地电脑还是服务器? ... [详细]
  • 技术分享:如何在没有公钥的情况下实现JWT密钥滥用
      ... [详细]
  • phpgettext.dll的简单介绍
    本文目录一览:1、在php.ini中设置了extension=php_gettext.dl ... [详细]
  • 利用Dockerfile构建一个nginx容器
    1.从远程仓库中pullcentos镜像dockerpullcentos2.查询镜像dockerimages3.下载nginx和pcre到本地目录下4.编辑Dockerfile文件#Nginxdockerfile#Versi ... [详细]
author-avatar
彭木对_690
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有