现在,我们已经将 LDAP 服务器配置完毕,可以将注意力转到配置和测试客户端上来了。
编辑 ldap.conf 配置文件
LDAP 客户端的配置文件是 /etc/openldap/ldap.conf file。你需要确保该文件中指明的 LDAP 服务器的 IP 地址是 example.com 域中的LDAP 服务器地址。这个文件应该像这样:
HOST 192.168.1.100
BASE dc=example,dc=com
编辑 /etc/nsswitch 文件
/etc/nsswitch.conf 文件定义了 Linux 操作系统搜索登陆信息的数据库的顺序。
我们配置它先搜索 /etc/passwd 文件,如果操作系统在这里没有找到相应的用户密码信息,它将到 LDAP 服务器上继续查找。最简单的设置方法是使用 /usr/bin/authconfig-tui 命令。
执行 /usr/bin/authconfig-tui。如果命令行的语言设置不兼容的话,这个命令的输出可能是乱码。为了避免这样的问题出现,你可以在命令之前加上一段字符串 LANG=C,如下所示:
[root@smallfry tmp]# LANG=C authconfig-tui
选择LDAP。
填入 LDAP 服务器的 IP 地址,在我们这个例子中是 192.168.1.100。
Give the base DN as dc=example,dc=com
填入基础 DN,这个例子里是 dc=example,dc=com
不要选择 TLS。
使用 MD5 以及 shadow passwords。
这时屏幕应该看起来是这个样子:
[*] Use Shadow Passwords
[*] Use MD5 Passwords
[*] Use LDAP [ ] Use TLS
Server: 192.168.1.100
Base DN: dc=example,dc=com
完成后,查看 /etc/nsswitch.conf 文件,确保它已经涉及了 LDAP。
Note: 在一些 Linux 发行版中,authconfig 命令取代了 authconfig-tui 命令。
在 LDAP 客户端上建立主目录
先前我们已经在服务器 bigboy 的 users 用户组中建立了一个名为 ldapuser 的用户。我们需要确保该用户在 LDAP 客户端 smallfry 上有一个主目录。在这一小节的例子中,我们将建立一个 ldapuser 为所有者的目录。正如你所看到的,服务器 smallfry 正确的从服务器 bigboy 上获得了用户 ldapuser 的信息,chown 命令没有提示 ldapuser 在服务器 smallfry上的 /etc/passwd 中不存在的的错误。
检查 /etc/passwd 文件中是否存在 ldapuser 账号
你可以通过 grep 命令查找 /etc/passwd 中是否存在 ldapuser。在这里,这个命令应该没有信息反馈(也就是没有查找到有关 ldapuser 的信息)。
[root@smallfry tmp]# grep ldapuser /etc/passwd
[root@smallfry tmp]#
在 LDAP 客户端上建立账号 ldapuser 的主目录
在这一阶段,你建立一个主目录,向里面复制一个 BASH 登陆配置文件,并将这个目录和其中所有的文件的所有者改为用户 ldapuser。
注意: 如果 chown 命令失败,则很有可能是因为错误的 LDAP 配置导致 LDAP 客户端不能从 LDAP 服务器上读取用户信息。
在某些情况下,你可能希望使用 NFS 挂载来为用户提供主目录,这将大大的减少这一步的工作量。
[root@smallfry tmp]# mkdir /home/ldapuser
[root@smallfry tmp]# chmod 700 /home/ldapuser/
[root@smallfry tmp]# ll /home
total 2
drwx------ 2 ldapuser users 1024 Aug 4 08:05 ldapuser
[root@smallfry tmp]# cp /etc/skel/.* /home/ldapuser/
cp: omitting directory `/etc/skel/.'
cp: omitting directory `/etc/skel/..'
cp: omitting directory `/etc/skel/.kde'
[root@smallfry tmp]# chown -R ldapuser:users /home/ldapuser
[root@smallfry tmp]
接下来就可以做基本的测试了。