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

红帽linux加入ldap,Redhat6下构建LDAP服务

下周RHCE考试,由于有几道题涉及LDAP服务,中心有现成LDAP服务器,但家练习的话就悲剧了,所以和LDAP斗争了几天&#

下周RHCE考试,由于有几道题涉及LDAP服务,中心有现成LDAP服务器,但家练习的话就悲剧了,所以和LDAP斗争了几天,参考了中心老师和网上的文档配置方法和思路,最终测试完毕。

现归纳成文档,有兴趣的朋友可以作为参考,如有遗漏,还请回复指出。

实验环境:

REDHAT6.3

LDAP server:172.24.30.20

LDAP clent: 172.24.30.25

准备工作:

配置前先关闭iptables和SELINUX,避免配置过程中报错。

# service iptables stop

# setenforce 0

# vi /etc/sysconfig/selinux

---------------

SELINUX=disabled

---------------

1.LDAP server端配置:

安装LDAP服务(使用YUM本地光盘安装)

# yum install openldap-* -y

提示安装以下4个包

openldap-devel-2.4.23-26.el6.x86_64

openldap-clients-2.4.23-26.el6.x86_64

openldap-2.4.23-26.el6.x86_64

openldap-servers-2.4.23-26.el6.x86_64

拷贝LDAP配置文件到LDAP目录(redhat6.3):

# cd /etc/openldap/

# cp /usr/share/openldap-servers/slapd.conf.obsolete slapd.conf

redhat6.0或6.1版本配置文件在主目录有备份:

# cd /etc/openldap/

# cp slapd.conf.bak slapd.conf

创建LDAP管理员密码:

# slappasswd

这里我输入的密码是redhat,输入完密码后,返回一串密文,先保存到剪贴板

{SSHA}pfAJm+JJa4ec2y8GjTc8uMEJpoR5YKLy

编译配置文件

# vi /etc/openldap/slapd.conf

找到115行,默认如图:

ae0646c1712b7cf121a57d2a15f95710.png

修改为:

3adec946064e99f7aec212c0b66db8d2.png

高亮部分为刚才生成的密码(加密后的)。

配置文件最后几行的权限部分我们也要做相应的更改:

原内容:

9634ecee314f58a06169c4242eca3883.png

更改为:

0eddb80240e6fd57a73205a3d6e8e3f3.png

保存退出。

拷贝DB_CONFIG文件到指定目录

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

删除默认/etc/openldap/slapd.d下面的所有内容,否则后面在使用ldapadd的时候会报错:

# rm -rf /etc/openldap/slapd.d/*

启动LDAP的slapd服务,并设置自启动:

# service slapd restart

# chkconfig slapd on

赋予配置目录相应权限:

# chown -R ldap:ldap /var/lib/ldap

# chown -R ldap:ldap /etc/openldap/

测试并生成配置文件:

slaptest  -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d

返回config file testing succeeded,则配置成功。

赋予生成的配置文件予权限并重启:

# chown -R ldap:ldap /etc/openldap/slapd.d

# service slapd restart

创建一个账号,以备客户端测试登陆

# useradd ldapuser1

# passwd ldapuser1

至此,这些用户仅仅是系统上存在的用户(存储在/etc/passwd和/etc/shadow上),并没有在LDAP数据库里,所以要把这些用户导入到LDAP里面去。但LDAP只能识别特定格式的文件 即后缀为ldif的文件(也是文本文件),所以不能直接使用/etc/passwd和/etc/shadow。 需要migrationtools这个工具把这两个文件转变成LDAP能识别的文件。

安装配置migrationtools

# yum install migrationtools -y

进入migrationtool配置目录

# cd /usr/share/migrationtools/

首先编辑migrate_common.ph

# vi  migrate_common.ph

找到如下内容(大概在70行):

eae30219d1d5a2ac91197f527f1a69d6.png

修改为:

20d1981fa4493aeef1caa7dede1811d8.png

下面利用pl脚本将/etc/passwd 和/etc/shadow生成LDAP能读懂的文件格式,保存在/tmp/下

# ./migrate_base.pl > /tmp/base.ldif

# ./migrate_passwd.pl  /etc/passwd > /tmp/passwd.ldif

# ./migrate_group.pl  /etc/group > /tmp/group.ldif

下面就要把这三个文件导入到LDAP,这样LDAP的数据库里就有了我们想要的用户

# ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f /tmp/base.ldif

# ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f /tmp/passwd.ldif

# ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f /tmp/group.ldif

过程若无报错,则LDAP服务端配置完毕

重启slapd完成配置

# service slapd restart

现安装NFS,并把ldapuser1的家目录做NFS共享.

默认REDHAT已安装

# yum install nfs* -y

配置NFS共享:

# vi /etc/exports

--------------

/home/ldapuser1         *(rw,no_root_squash)

--------------

重启nfs服务:

# service rpcbind restart

# service nfs restart

2.LDAP 客户端配置

打开客户端图形化界面命令行

输入system-config-authentication,按照如图配置:

d206365ee31b6f55b5d907f95fc87624.png

配置结束点Apply保存退出,系统会自动重启sssd服务

配置autofs,实现ldapuser1登录成功后,能够访问本地家目录/home/ldapuser1,该目录挂载于网内LDAP服务器172.24.30.20:/home/ldapuser1下

# vi /etc/auto.master

添加一行:

--------------

/home   /etc/auto.misc

--------------

# vi /etc/auto.master

添加一行:

--------------

*               -fstype=nfs                     172.24.30.20:/home/&

--------------

重启autofs服务:

# service autofs reload

登陆ldapuser1账户:

若未返回系统未找到ldapuser1家目录报错信息,则LDAP客户端配置成功。

注:这里若仍无法登陆,请进入setup模式配置LDAP登陆

# id ldapuser1

uid=500(ldapuser1) gid=500(ldapuser1) groups=500(ldapuser1)

# su - ldapuser1

# pwd

/home/ldapuser1

至此大功告成。。。

注:LDAP服务需要服务器和客户端的时间保持大致一致,否则在登陆ldapuser1账户时可能会报错,这里NTP服务搭建省略,可以手工修改两台服务器的时间保持一致。



推荐阅读
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • SecureCRT是一款功能强大的终端仿真软件,支持SSH1和SSH2协议,适用于在Windows环境下高效连接和管理Linux服务器。该工具不仅提供了稳定的连接性能,还具备丰富的配置选项,能够满足不同用户的需求。通过SecureCRT,用户可以轻松实现对远程Linux系统的安全访问和操作。 ... [详细]
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 本文详细介绍了在Linux系统上编译安装MySQL 5.5源码的步骤。首先,通过Yum安装必要的依赖软件包,如GCC、GCC-C++等,确保编译环境的完备。接着,下载并解压MySQL 5.5的源码包,配置编译选项,进行编译和安装。最后,完成安装后,进行基本的配置和启动测试,确保MySQL服务正常运行。 ... [详细]
  • 本文介绍了如何在 Vue 3 组合 API 中正确设置 setup() 函数的 TypeScript 类型,以避免隐式 any 类型的问题。 ... [详细]
  • 应用链时代,详解 Avalanche 与 Cosmos 的差异 ... [详细]
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • 如何在Linux服务器上配置MySQL和Tomcat的开机自动启动
    在Linux服务器上部署Web项目时,通常需要确保MySQL和Tomcat服务能够随系统启动而自动运行。本文将详细介绍如何在Linux环境中配置MySQL和Tomcat的开机自启动,以确保服务的稳定性和可靠性。通过合理的配置,可以有效避免因服务未启动而导致的项目故障。 ... [详细]
  • 本文介绍了如何使用Python的Paramiko库批量更新多台服务器的登录密码。通过示例代码展示了具体实现方法,确保了操作的高效性和安全性。Paramiko库提供了强大的SSH2协议支持,使得远程服务器管理变得更加便捷。此外,文章还详细说明了代码的各个部分,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 为了在Hadoop 2.7.2中实现对Snappy压缩和解压功能的原生支持,本文详细介绍了如何重新编译Hadoop源代码,并优化其Native编译过程。通过这一优化,可以显著提升数据处理的效率和性能。此外,还探讨了编译过程中可能遇到的问题及其解决方案,为用户提供了一套完整的操作指南。 ... [详细]
  • Amoeba 通过优化 MySQL 的读写分离功能显著提升了数据库性能。作为一款基于 MySQL 协议的代理工具,Amoeba 能够高效地处理应用程序的请求,并根据预设的规则将 SQL 请求智能地分配到不同的数据库实例,从而实现负载均衡和高可用性。该方案不仅提高了系统的并发处理能力,还有效减少了主数据库的负担,确保了数据的一致性和可靠性。 ... [详细]
  • 深入解析 OpenSSL 生成 SM2 证书:非对称加密技术与数字证书、数字签名的关联分析
    本文深入探讨了 OpenSSL 在生成 SM2 证书过程中的技术细节,重点分析了非对称加密技术在数字证书和数字签名中的应用。非对称加密通过使用公钥和私钥对数据进行加解密,确保了信息传输的安全性。公钥可以公开分发,用于加密数据或验证签名,而私钥则需严格保密,用于解密数据或生成签名。文章详细介绍了 OpenSSL 如何利用这些原理生成 SM2 证书,并讨论了其在实际应用中的安全性和有效性。 ... [详细]
author-avatar
mobiledu2502933045
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有