OpenLDAP 客户端部署

           有关服务端的安装请点击

一、账号登录系统流程讲解

    当在客户端输入账号登录系统时,系统根据/etc/nsswitch.conf配置文件获取账号查找顺序,然后再根据PAM配置文件调用相关模块,对账号(/etc/passwd)及密码(/etc/shadow)进行查找并进行匹配。当本地匹配不成功时,会通过后端认证服务器(OpenLDAP服务器)进行验证。

二、配置文件功能介绍

    下面介绍几个配置文件再后面我们会进行修改,我这里简单介绍一下。

  • /etc/nsswitch.conf 该文件主要用于名称转换服务,用于系统验证用户身份所读取本地文件或是远程验证服务器文件。

  • /etc/sysconfig/authconfig 主要用于提供身份验证之LDAP功能,该配置文件用来跟踪LDAP身份认证机制是否正确启用。

  • /etc/pam.d/system-auth 主要用于实现用户账户身份验证。

  • /etc/pam_ldap.conf 实现客户端与服务端的交互。

  • /etc/openldap/ldap.conf 主要用于查询OpenLDAP服务器所有条目信息。

三、三种部署方式介绍

1、图形化部署

    一般通过 setup、authconfig-gui命令调用图形界面实现配置。通过图形方式将客户端加入到OpenLDAP服务端配置非常简单,只需要根据提示并正确选择菜单以及正确输入Server和Base DN对应的值即可。

    当完成配置后,系统会根据你所定义的参数对涉及的配置文件进行修改,完成客户端的部署。

2、配置文档部署

    当图形界面部署无法满足当前需求时,此时通过会选择修改配置文件方式实现OpenLDAP客户端的部署,例如,当对配置文件额外参数进行调整时。

3、命令行部署

    一般通过anthconfig实现命令行的部署。命令行的部署是三种配置方式中最难的一种,比较难的是因为你事先需要定义相关选项及参数进行了解。

四、图形化部署OpenLDAP客户端

1、下载setup工具

yum install setuptool -y

2、域名解析,时间同步

3、配置文件备份

cp /etc/nsswitch.conf /etc/nsswitch.conf.bak
cp /etc/pam.d/system-auth-ac /etc/pam.d/system-auth-ac.bak

4、操作步骤

    直接运行setup命令。

wKiom1esTCjRWWljAAA3l31Aabs037.jpg


wKiom1esTFKByG5dAACs6laj-2c498.jpg


wKioL1esTGKRw364AACMuruWFN0135.jpg

    发现我一个软件没有安装,没事,我们安装就是了。

wKiom1esTKGgVns4AABORahljpU953.jpg

5、查看修改的文件

    目前查看一下,到底他修改了哪些文件。

[root@test01 ~]# vimdiff /etc/nsswitch.conf /etc/nsswitch.conf.bak

    我们可以看到增加了ldap,说明用户验证首先查看本地文件,没有的话再通过ldap验证。

wKioL1esT12zIHy_AAHzy2bhXSA740.jpg

[root@test01 ~]# vimdiff /etc/pam.d/system-auth /etc/pam.d/system-auth.bak

    主要添加一些pam支持ldap的认证。

wKioL1esT3DyiRdGAAKTPnNZ8QI050.jpg

[root@test01 ~]# tail -5 /etc/nslcd.conf

wKiom1etPxGifFKOAABDd0jQ5bM795.jpg

[root@test01 ~]# tail -5 /etc/pam_ldap.conf

wKiom1etP0ig6rQ4AAA2svcaPaw446.jpg

六、OpenLDAP客户端验证

1、配置/etc/openldap/ldap.conf

    默认客户端不允许查询OpenLDAP条目信息,如果需要让客户端查询条目,需要添加OpenLDAP服务端的URI以及BASE条目,命令如下:

[root@test01 ~]# ldapsearch -x -LLL
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)

[root@test01 ~]# cat >> /etc/openldap/ldap.conf << EOF
URI   ldap://192.168.2.10/
BASE  dc=wzlinux,dc=com
EOF

[root@test01 ~]# ldapsearch -x -LLL|wc -l
45

2、客户端验证

    用户的信息添加我已经在上篇博文里面介绍过了,这次我们验证一下添加的这个test1用户。如果没有获取成功,请查看以上提到的配置文件。

# 查询在我们的客户端机器上面是否有test1用户,查询是没有的
[root@test01 ~]# cat /etc/passwd |grep test1
# 直接查看test1的ID,可以查询到,说明他通过了OpenLDAP进行的验证
[root@test01 ~]# id test1
uid=24422(test1) gid=0(root) groups=0(root),10673(DBA)
# 以下信息都说明通过的OpenLDAP
[root@test01 ~]# getent passwd test1
test1:x:24422:0:test1:/home/test1:/bin/bash

[root@test01 ~]# getent shadow test1
test1:{SHA}tESsBmE/yNY3lb6a0L6vVQEZNqw=:12011:0:99999:0:99999:99999:0

3、客户端登录验证

    此时使用OpenLDAP用户验证是否正常登录客户端。从截图我们可以看到已经登录成功了,但是发现他没有自己的主目录,此时通过创建用户家目录即可解决。

wKioL1etMBDBqKEYAABCzPpW_TI613.jpg

    一般可以通过配置服务端和客户端两种方式解决,一种是 autofs+nfs,另一种是修改/etc/pam.d/system-auth添加pam模块(pam_mkhomedir.so)实现OpenLDAP用户家目录的创建,我们这里选择添加pam模块进行演示,这也是比较推荐的方法。

[root@test01 ~]# cat >> /etc/pam.d/sshd << EOF
session    required     pam_mkhomedir.so skel=/etc/skel/ umask=0022
EOF

wKiom1eteOPT7yRiAADRc4tEXys138.jpg

   客户端再次登录验证。 

wKiom1eteRSiRq5TAAA97ggGxxs843.jpg

七、配置文件部署OpenLDAP客户端

    nslcd进程由nss-pam-ldapd 软件包提供,并根据nslcd.conf配置信息,与后端的认证服务器进行交互。例如,用户、主机名称服务信息、组织、其他数据历史存储、NIS等。

1、安装OpenLDAP客户端软件包

yum install openldap-clients nss-pam-ldapd

2、修改/etc/nslcd.conf 配置文件

    修改文件最后面如下内容。

uri ldap://192.168.2.10/
base dc=wzlinux,dc=com
ssl no
tls_cacertdir /etc/openldap/cacerts

3、修改pam_ldap.conf 配置文件

    在文件最后面添加如下内容,注意删除里面的base和host有效的那一行。


uri ldap://192.168.2.10/
base dc=wzlinux,dc=com
ssl no
tls_cacertdir /etc/openldap/cacerts
pam_password md5

4、修改system-auth 认证文件

   在文件内添加如下内容,具体位置请查看上面的图片。

auth       sufficient     pam_ldap.so    use_first_pass
account    [default=bad success=ok user_unknown=ignore]    pam_ldap.so
password     sufficient     pam_ldap.so    use_authtok
session      optional     pam_ldap.so

5、修改nsswitch.conf 配置文件

    在passwd、shadow、group后面的files 后面添加ldap。

6、修改/etc/sysconfig/authconfig 认证文件

USESHADOW=yes               #启用密码验证
USELDAPAUTH=yes             #启用OpenLDAP验证
USELOCAUTHORIZE=yes         #启用本地验证
USELDAP=yes                 #启用LDAP认证协议

7、加载nslce进程

service nslcd restart

    以上我简单略过的大家可以参照图形化安装修改的一些文件内容来修改,相对来说图形化安装比较方便,但是如果遇到大批量安装,使用命令行部署还是比较简便的。

八、命令行部署OpenLDAP客户端

1、authconfig命令介绍

    通过authconfig -h 查看其帮助信息。

2、安装客户端软件包

yum install openldap-clients nss-pam-ldapd -y

3、命令行部署

    运行一下命令,可以根据帮助文档进行个性化定制。

authconfig --enablemkhomedir \
--disableldaptls \
--enablemd5 \
--enableldap \
--enableldapauth \
--ldapserver=ldap://192.168.2.10 \
--ldapbasedn="dc=wzlinux,dc=com" \
--enableshadow \
--update

wKiom1etf_OxM6KbAADpHqL2UD4636.jpg

    可以看到正常登录,创建家目录。之前我们是在/etc/pam.d/sshd里面添加的创建家目录认证,我们使用命令部署之后,我看它加在了/etc/pam.d/system-auth里面,之前我手动修改配置文件的时候不行,图形化安装也不行,大家可以试试看看是否OK,具体如下:

wKiom1etgJiAPmbIAAFAYB0BlR0875.jpg

4、用户密码设置

    默认情况下用户是不可以修改密码的,因为我服务端开通了修改密码的权限,所以我这里用户可以个性化修改自己的密码,添加的服务端代码如下,具体操作请查看我的服务端部署文档。

wKioL1etgzqiteNXAADCIenaBxQ011.jpg

    密码修改演示如下。

wKiom1etg3ThO37fAABJNlDm5b0370.jpg



本文出自 “小小水滴” 博客,请务必保留此出处http://wangzan18.blog.51cto.com/8021085/1836997

本页内容版权归属为原作者,如有侵犯您的权益,请通知我们删除。
1. root下进入其他用户主目录 cd ~USERNAME 2. touch的另外的一种作用 常用的是touch创建一个不存在的文件 而touch一个存在的文件时候,touch会修改文件的三个时间(使用stat可以查看),其中access表示最后一个访问时间,modify表示最后一次修改文件的时间,change表示最后修改文件属性的时间 3. file查看文件类型 镜像文件(iso)的文件类型为iso9660 4./etc/passwd中各字段对应解释 1 用户名:2密码:3uid:4gid:5备注:6
谁说Lync Server 前端不可以使用Windows网络负载平衡实现高可用的?(仅限测试环境) 本章内容有: 1.两台Lync Server安装Windows功能---网络负载平衡 2.配置网络负载平衡 3.DNS记录修改 4.测试故障切换(模拟两种故障,网络故障和服务故障) 5.开始的时候别忘了上一章中的提示,将两台前端Server都进行重启 = = 安装网络负载平衡 两台服务器都需要进行安装 = = 配置网络负载平衡 1)新建群集 2)将LyncFE01先添加到群集中 3)群集IP自己随便填写 4

深入剖析linux磁盘管理 - 2016-08-29 17:08:26

一、linux中常见的磁盘: 无论什么操作系统,归根还是要落实与磁盘上的,对于磁盘的管理也是linux管理必备的一项技能。在linux中“一切皆文件”的思想贯彻整个linux的学习中,包括像是磁盘等的硬件也是在linux的/dev/目录下类似于文件形式的存放,常见的SATA口USB优盘或是SCSI口的硬盘在linux中是以/dev/sd[a-p]开头的文件,早期的IDE硬盘现在已经很少见了,这种硬盘在linux中是以/dev/hd[a-d],CDROM是以/dev/cdrom开头的文件,磁带机/dev/s

linux实战题 - 2016-08-29 17:08:10

在配置Apache时,执行了./configure --prefix=/application/apache2.2.17来编译Apache,在make install完成后,需要用户的访问路径更加简单 ,需要给/application/apache2.2.17目录做一个软链接/application/apache,是得内部人员可以通过/application/apache就可以访问到Apache的安装目录/application/apache2.2.17下的内容 ,请给出实现命令。(安装时有版本号,后面使
一 VNC简介 VNC 是在基于Linux 操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和 Windows 和 MAC 中的任何远程控制软件媲美。 在 Linux 中,VNC 包括以下四个命令:vncserver,vncviewer,vncpasswd,和 vncconnect。大多数情况下用户只需要其中的两个命令:vncserver 和 vncviewer VNC基本上是由两部分组成:一部分是 客户端的应用程序(vncviewer) ;另外一部分是 服务器端的应用程序(vncserv
目标: 在xuegod63.cn服务器上,使用网站模版UCenter_1.5.0_SC_UTF8.zip和UCenter_Home_2.0_SC_UTF8.zip为公司搭建一个类似人人网的网站。在windows上,使用访问uc.duwers63.cn可以访问UCenter;使用www.duwers63.cn可以访问UCenter_Home。 安装 yum-yinstallhttpdmysql-servermysqlphpphp-mysql 软件包解释: httpd#web网站服务器 mysql-serve
在某些情况下为了实现Windows多台服务器负载均衡,需要使用共享来做图片及附件的上传空间。 这个时候就需要使用到Samba、IIS虚拟目录等相关技术 Web服务器使用upload作为上传的目录,现在需要使用2台服务器做负载均衡,后台使用一台Samba服务器作为文件共享存储 1.建立Samba文件服务器 卸载旧的samba组件,CentOS 6默认安装的是3.6的版本 forain`rpm-qa|grepsamba`;dorpm-e--nodeps$a;done 2.安装Samba 4 yum-yinst
Linux iptables简介 基于包过滤的防火墙工具,功能强大,使用灵活,可以对流入和流出服务器的数据包进行精细的控制 iptable 工作流程 iptables是采用数据包过滤机制工作的,所以它会对请求的数据包的包头数据进行分析,然后根据我们预先设定好的规则进行过滤 1)iptables对数据包的过滤是一层层过滤的,顺序从上到下,从左到右 2)如果在某一层匹配上规则(也就是明确表明对该数据包是拒绝还是通过),不再向下匹配,直接应用 3)如果所有规则中都没有匹配上,匹配默认规则,默认规则允许则允许,拒
Cobbler简介 运维自动化包括标准化、工具化、Web化、服务化、智能化等几个不同的层级,在一家规模稍大、拥有服务器上千台甚至是几万台的生产环境中,想要真正实现运维自动化,工具化系统安装流程、统一系统安装规范,是其中最不能忽略的重要环节。普通的自动化部署可以采用pxe+dhcp+tftp配合kickstart实现,但是面对多版本、多部署需求的情况下,这种普通的部署方式可能达不到我们的要求;这时候就需要借助cobbler开源自动化部署工具来实现。 Cobbler是一款快速的网络系统部署工具,其最大的特点是
PHP服务缓存优化原理 Nginx 根据扩展名或者过滤规则将PHP程序请求传递给解析PHP的FCGI,也就是php-fpm进程 缓存操作码(opcode) Opcode,PHP编译后的中间文件,缓存给用户访问 当客户端请求一个PHP程序时,服务器的PHP引擎会解析该PHP程序,并将其编译为特定的操作码文件,该文件是执行PHP代码后的一种二进制文件表现形式。默认情况下,这个编译好的操作码文件由PHP引擎执行后丢弃;而操作码缓存的原理就是将编译后的操作码保存下来,并放入到共享内存里,以便再下一次调用该PHP页