为 389 目录服务器安装配置 LDAP 客户端
389 Directory Server 是一款超快的开源企业LDAP Server。
在本教程中,我们将解释如何在 Linux 上安装和配置 LDAP 客户端,它将与您的 389 目录服务器通信。
安装 EPEL
在您的客户端计算机上,确保您已设置 EPEL 存储库,因为我们将从 EPEL 下载 ldap 相关的包。
首先,从 fedora 项目网站下载最新的 EPEL 包:
# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-10.noarch.rpm
接下来,在您的客户端机器上安装 EPEL rpm。
# rpm -ivh epel-release-7-10.noarch.rpm
验证 /etc/hosts
确保您的主机文件设置正确。
在此示例中,以下是当前的 /etc/hosts 文件设置。在此示例中,我们在部署时安装了 389 目录服务器
# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.101.10 deploy.hgst.com.cn deploy
安装 LDAP 客户端库
对于 LDAP 客户端库,我们需要安装以下软件包:
- openldap – 这包含 LDAP 支持库
- openldap-devel.x86_64 - 这包含 LDAP 开发库和头文件
- nss-pam-ldapd – 这是使用目录服务器的 nsswitch 模块
使用 yum 安装上述软件包,如下所示:
# yum install nss-pam-ldapd.x86_64 openldap.x86_64 openldap-devel.x86_64
除了安装以上三个包外,根据你当前的系统配置,yum 可能还会安装以下依赖包:
- 赛勒斯-sasl
- cyrus-sasl-devel
- nscd
配置 LDAP 客户端身份验证资源
要配置 LDAP 客户端身份验证资源,我们可以使用以下任何一种工具:
- authconfig – 配置身份验证资源的命令行工具
- authconfig-tui – 一个基于 GUI 的工具,用于配置身份验证资源
要启动 GUI 版本,请执行以下命令:
# authconfig-tui
这将调出以下用户界面:
使用箭头键并选择“使用 LDAP 身份验证”复选框,如下所示。要选择复选框,请按空格键。
在下一个屏幕中,相应地设置您的 LDAP 服务器和基本 DN。这些值应该与您安装的 389 目录服务器相对应。请参阅我们的 389 目录服务器安装教程以获取更多详细信息。
为 LDAP 客户端启动名称服务相关服务
首先确保 nslcd 命名服务 LDAP 客户端守护程序已启动并正在运行。如果这没有启动,请相应地启动它。
# systemctl start nslcd
# systemctl status nslcd
? nslcd.service - Naming services LDAP client daemon.
Loaded: loaded (/usr/lib/systemd/system/nslcd.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2017-10-08 15:15:58 UTC; 7min ago
Process: 2624 ExecStart=/usr/sbin/nslcd (code=exited, status=0/SUCCESS)
Main PID: 2625 (nslcd)
CGroup: /system.slice/nslcd.service
+-2625 /usr/sbin/nslcd
Oct 08 15:15:58 192.168.101.10 systemd[1]: Starting Naming services LDAP client daemon....
Oct 08 15:15:58 192.168.101.10 systemd[1]: PID file /var/run/nslcd/nslcd.pid not readable (yet?) after start.
Oct 08 15:15:58 192.168.101.10 nslcd[2625]: version 0.8.13 starting
Oct 08 15:15:58 192.168.101.10 nslcd[2625]: accepting connections
Oct 08 15:15:58 192.168.101.10 systemd[1]: Started Naming services LDAP client daemon..
接下来,使用 systemctl 命令启动 nscd 名称服务缓存守护进程,如下所示。
# systemctl start nscd
# systemctl status nscd
? nscd.service - Name Service Cache Daemon
Loaded: loaded (/usr/lib/systemd/system/nscd.service; disabled; vendor preset: disabled)
Active: active (running) since Sun 2017-10-08 15:27:23 UTC; 3s ago
Process: 2693 ExecStart=/usr/sbin/nscd $NSCD_OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 2694 (nscd)
CGroup: /system.slice/nscd.service
+-2694 /usr/sbin/nscd
Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 monitoring file `/etc/hosts` (4)
Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 monitoring directory `/etc` (2)
Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 monitoring file `/etc/resolv.conf` (5)
Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 monitoring directory `/etc` (2)
Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 monitoring file `/etc/services` (6)
Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 monitoring directory `/etc` (2)
Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 disabled inotify-based monitoring for file `/etc/netgroup': No such file or directory
Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 stat failed for file `/etc/netgroup'; will try again later: No such file or directory
Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 Access Vector Cache (AVC) started
设置 SSSD 和 PAM LDAP 配置
执行以下 authconfig 命令来设置 SSSD 身份验证配置,如下所示。这也将确保您为 LDAP 客户端获取相应的用户主目录。
# authconfig --enableldapauth --enablemkhomedir \
--enablesysnetauth --enablelocauthorize \
--ldapserver=ldap://deploy.thegeekstuff.com \
--ldapbasedn="dc=hgst,dc=com" --update
请注意,当满足以下两个条件时,authconfig 将启用并启动 SSSD 服务:
/etc/sssd/sssd.conf 文件存在,或至少已使用隐式 SSSD 支持配置
启用 SSSD 身份验证,这意味着在 PAM 配置中引用了 pam_sss.so 模块
SSSD 为用户身份启用,这意味着 nsswitch.conf 文件引用了 sss
执行以下 authconfig 命令来设置 PAM 配置,如下所示。
# authconfig --enableldap --enableldapauth \
--enablemkhomedir --enablesysnetauth \
--enablelocauthorize \
--ldapserver="deploy.hgst.coms.cn" \
--ldapbasedn="dc=deploy,dc=hgst,dc=com.cn" \
--update
以下是在 authconfig 更改期间将受到影响的一些文件:
- /etc/nscd.conf
- /etc/nslcd.conf
- /etc/openldap/ldap.conf
- /etc/pam.d/system-auth
- /etc/pam.d/password-auth-ac
- /etc/nsswitch.conf
上述 authconfig 命令中使用了以下选项:
- --enableldapauth 将通过 /etc/pam.d/system-auth 配置认证功能
- --enableldap 选项将在 /etc/nsswitch.conf 中配置用户信息服务
- --enablesysnetauth 选项将允许对 uid < 500 的系统帐户进行身份验证。
- --enablelocauthorize 选项将允许绕过检查网络身份验证服务以进行授权
- --update 选项将确保根据指定的命令行选项修改所有配置文件
- 点赞
- 收藏
- 关注作者
评论(0)