配置好NIS服务器之后,需要在客户端进行配置才能让客户主机正确的找到NIS服务器并进行信息查询。这一节记录一下在centos 6下NIS客户端的配置。
一、 安装所需软件包
rpcbind: 启动和管理rpc
ypbind: 提供客户端查询的软件包
yp-tools: 提供客户端设定相关功能的软件包
采用yum方式安装这三个软件包:
yum -y install ypbind yp-tools rpcbind
二、设置本主机的nis域
临时性的设置可使用 nisdomainname nis域名 或者 domainname nis域名来设置。如果需要每次开机后自动设置,可编辑/etc/rc.local文件,添加 /bin/nisdomainname nis域名 到文件结尾。同时在/etc/sysconfig/network中添加NISDOMAIN=nis域名一项设置。
可使用nisdomainname或者domainname来查看当前域名是否与要加入的一致。
三、修改连接配置
设置该客户端需要连接到的nis域和服务器地址,编辑/etc/yp.conf文件,按照其给出的格式填好需要加入的nis域和nis服务器主机。常见格式为:
domain nis域名 server 主机名或者IP地址
其中主机名必须能被解析。可以将主机名和其对应的IP地址写到/etc/hosts文件中。这是最常用的做法,在本地即建立了主机路由。例如:
192.168.1.10 nis-server
四、修改信息查询方式
一个不在本机数据库中的用户登陆到主机上,则需要主机向nis服务器发出查询请求。/etc/nsswitch.conf文件保存了用户信息的查询优先顺序。一般说来本地的数据库有最高优先级,如果本地无法找到再向nis发出请求。可以修改nsswitch.conf的几处信息如下:
passwd files nis
shadow files nis
group files nis
hosts files nis dns
需要注意的是hosts查询中,nis放在dns之前比较合适。正常来说自带dns服务器的毕竟少数,一些自定义的主机名通过dns是无法查询到的。所以nis的优先级应该要高于dns。
五、启动服务
启动rpcbind和ypbind服务:
service rpcbind start
service ypbind start
注意centos中要求ypbind必须要求在NetworkManager启用的情形下才能正常工作。由于是静态IP,桌面版中一上来就disable掉了NetworkManager。 在minimal版本中本来就不带。因为NetworkManager这个大坑,在第一次配置的时候被郁闷的不行,各种google最后才在stackoverflow下找到了某个人无意间的说了一句。估计许多人一直在用NetworkManager,所以才没有遇到像我这样的问题吧。
六、设置开机启动
chkconfig –level 35 rpcbind on
chkconfig –level 35 ypbind on
七、客户端工具
yptest命令测试数据库内容与nis信息
ypwhich显示nis服务器主机名
ypmatch查询用户信息
yppasswd修改用户密码
ypcat查看nis相关文件
ypdomainname查看所在nis域
其余命令可通过help查看相关帮助。
八、登陆测试
在nis服务器上建立用户:
useradd -s /bin/bash -d /home/用户名 -m -g 组名 用户名
设置其登陆密码:
passwd 用户名
然后使用该用户名密码登陆到任意一台nis客户端主机(如果在服务器上配置了客户端环境,其本身也是客户端),应该是可以正常登陆了。但如果客户端下没有用户的家目录,则会发出警告。这就需要nfs挂载目录过去,这是另外的内容。