共计 6953 个字符,预计需要花费 18 分钟才能阅读完成。
有关服务端的安装请点击
一、账号登录系统流程讲解
当在客户端输入账号登录系统时,系统根据 /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 工具
1 | yum install setuptool -y |
2、域名解析,时间同步
3、配置文件备份
1 2 | cp /etc/nsswitch .conf /etc/nsswitch .conf.bak cp /etc/pam .d /system-auth-ac /etc/pam .d /system-auth-ac .bak |
4、操作步骤
直接运行 setup 命令。
发现我一个软件没有安装,没事,我们安装就是了。
5、查看修改的文件
目前查看一下,到底他修改了哪些文件。
1 | [root@test01 ~] # vimdiff /etc/nsswitch.conf /etc/nsswitch.conf.bak |
我们可以看到增加了 ldap,说明用户验证首先查看本地文件,没有的话再通过 ldap 验证。
1 | [root@test01 ~] # vimdiff /etc/pam.d/system-auth /etc/pam.d/system-auth.bak |
主要添加一些 pam 支持 ldap 的认证。
Liferay Portal 配置使用 Oracle 和 OpenLDAP http://www.linuxidc.com/Linux/2012-07/66928.htm
在 CentOS 6.5 上安装 OpenLDAP 并配置 LDAP 方式用户登录 http://www.linuxidc.com/Linux/2015-04/116536.htm
RHEL7 中 OpenLDAP 的安装与配置 http://www.linuxidc.com/Linux/2015-03/115524.htm
Ubuntu 下 OpenLDAP 服务器的部署步骤 http://www.linuxidc.com/Linux/2014-12/110775.htm
Axigen+OpenLDAP+BerkeleyDB+ejabberd 多域 +JWchat 详细配置 http://www.linuxidc.com/Linux/2012-06/61598.htm
CentOS 部署 OpenLDAP 认证 http://www.linuxidc.com/Linux/2012-04/57932.htm
CentOS Linux 安装 OpenLDAP 服务器 http://www.linuxidc.com/Linux/2014-03/98087.htm
Ubuntu 安装 OpenLDAP 之配置 LDAP http://www.linuxidc.com/Linux/2016-05/130998.htm
1 | [root@test01 ~] # tail -5 /etc/nslcd.conf |
1 | [root@test01 ~] # tail -5 /etc/pam_ldap.conf |
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2016-08/134228p2.htm
六、OpenLDAP 客户端验证
1、配置 /etc/openldap/ldap.conf
默认客户端不允许查询 OpenLDAP 条目信息,如果需要让客户端查询条目,需要添加 OpenLDAP 服务端的 URI 以及 BASE 条目,命令如下:
1 2 3 4 5 6 7 8 9 10 | [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 用户。如果没有获取成功,请查看以上提到的配置文件。
1 2 3 4 5 6 7 8 9 10 11 | # 查询在我们的客户端机器上面是否有 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 用户验证是否正常登录客户端。从截图我们可以看到已经登录成功了,但是发现他没有自己的主目录,此时通过创建用户家目录即可解决。
一般可以通过配置服务端和客户端两种方式解决,一种是 autofs+nfs,另一种是修改 /etc/pam.d/system-auth 添加 pam 模块(pam_mkhomedir.so)实现 OpenLDAP 用户家目录的创建,我们这里选择添加 pam 模块进行演示,这也是比较推荐的方法。
1 2 3 | [root@test01 ~] # cat >> /etc/pam.d/sshd << EOF session required pam_mkhomedir.so skel= /etc/skel/ umask =0022 EOF |
客户端再次登录验证。
七、配置文件部署 OpenLDAP 客户端
nslcd 进程由 nss-pam-ldapd 软件包提供,并根据 nslcd.conf 配置信息,与后端的认证服务器进行交互。例如,用户、主机名称服务信息、组织、其他数据历史存储、NIS 等。
1、安装 OpenLDAP 客户端软件包
1 | yum install openldap-clients nss-pam-ldapd |
2、修改 /etc/nslcd.conf 配置文件
修改文件最后面如下内容。
1 2 3 4 | uri ldap: //192 .168.2.10/ base dc =wzlinux, dc =com ssl no tls_cacertdir /etc/openldap/cacerts |
3、修改 pam_ldap.conf 配置文件
在文件最后面添加如下内容,注意删除里面的 base 和 host 有效的那一行。
1 2 3 4 5 | uri ldap: //192 .168.2.10/ base dc =wzlinux, dc =com ssl no tls_cacertdir /etc/openldap/cacerts pam_password md5 |
4、修改 system-auth 认证文件
在文件内添加如下内容,��体位置请查看上面的图片。
1 2 3 4 | 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 认证文件
1 2 3 4 | USESHADOW= yes # 启用密码验证 USELDAPAUTH= yes # 启用 OpenLDAP 验证 USELOCAUTHORIZE= yes # 启用本地验证 USELDAP= yes # 启用 LDAP 认证协议 |
7、加载 nslce 进程
1 | service nslcd restart |
以上我简单略过的大家可以参照图形化安装修改的一些文件内容来修改,相对来说图形化安装比较方便,但是如果遇到大批量安装,使用命令行部署还是比较简便的。
八、命令行部署 OpenLDAP 客户端
1、authconfig 命令介绍
通过 authconfig -h 查看其帮助信息。
2、安装客户端软件包
1 | yum install openldap-clients nss-pam-ldapd -y |
3、命令行部署
运行一下命令,可以根据帮助文档进行个性化定制。
1 2 3 4 5 6 7 8 9 | authconfig --enablemkhomedir \ --disableldaptls \ --enablemd5 \ --enableldap \ --enableldapauth \ --ldapserver=ldap: //192 .168.2.10 \ --ldapbasedn= "dc=wzlinux,dc=com" \ --enableshadow \ --update |
可以看到正常登录,创建家目录。之前我们是在 /etc/pam.d/sshd 里面添加的创建家目录认证,我们使用命令部署之后,我看它加在了 /etc/pam.d/system-auth 里面,之前我手动修改配置文件的时候不行,图形化安装也不行,大家可以试试看看是否 OK,具体如下:
4、用户密码设置
默认情况下用户是不可以修改密码的,因为我服务端开通了修改密码的权限,所以我这里用户可以个性化修改自己的密码,添加的服务端代码如下,具体操作请查看我的服务端部署文档。
密码修改演示如下。
OpenLDAP 的详细介绍:请点这里
OpenLDAP 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-08/134228.htm
有关服务端的安装请点击
一、账号登录系统流程讲解
当在客户端输入账号登录系统时,系统根据 /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 工具
1 | yum install setuptool -y |
2、域名解析,时间同步
3、配置文件备份
1 2 | cp /etc/nsswitch .conf /etc/nsswitch .conf.bak cp /etc/pam .d /system-auth-ac /etc/pam .d /system-auth-ac .bak |
4、操作步骤
直接运行 setup 命令。
发现我一个软件没有安装,没事,我们安装就是了。
5、查看修改的文件
目前查看一下,到底他修改了哪些文件。
1 | [root@test01 ~] # vimdiff /etc/nsswitch.conf /etc/nsswitch.conf.bak |
我们可以看到增加了 ldap,说明用户验证首先查看本地文件,没有的话再通过 ldap 验证。
1 | [root@test01 ~] # vimdiff /etc/pam.d/system-auth /etc/pam.d/system-auth.bak |
主要添加一些 pam 支持 ldap 的认证。
Liferay Portal 配置使用 Oracle 和 OpenLDAP http://www.linuxidc.com/Linux/2012-07/66928.htm
在 CentOS 6.5 上安装 OpenLDAP 并配置 LDAP 方式用户登录 http://www.linuxidc.com/Linux/2015-04/116536.htm
RHEL7 中 OpenLDAP 的安装与配置 http://www.linuxidc.com/Linux/2015-03/115524.htm
Ubuntu 下 OpenLDAP 服务器的部署步骤 http://www.linuxidc.com/Linux/2014-12/110775.htm
Axigen+OpenLDAP+BerkeleyDB+ejabberd 多域 +JWchat 详细配置 http://www.linuxidc.com/Linux/2012-06/61598.htm
CentOS 部署 OpenLDAP 认证 http://www.linuxidc.com/Linux/2012-04/57932.htm
CentOS Linux 安装 OpenLDAP 服务器 http://www.linuxidc.com/Linux/2014-03/98087.htm
Ubuntu 安装 OpenLDAP 之配置 LDAP http://www.linuxidc.com/Linux/2016-05/130998.htm
1 | [root@test01 ~] # tail -5 /etc/nslcd.conf |
1 | [root@test01 ~] # tail -5 /etc/pam_ldap.conf |
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2016-08/134228p2.htm