鸟哥私房菜实践(7)- NIS

NIS 通常搭配 NFS 工作,NFS 用以提供统一的文件系统存放用户的 HOME 目录

NIS 服务端相关配置文件
? /etc/ypserv.conf:这是最主要的 ypserv 软件所提供的配置文件,可以规范 NIS 客户端是否可登入的权限。
? /etc/hosts:由于 NIS server/client 会用到网络主机名与 IP 的对应,因此这个主机名对应档就显的相当重要!每一部主机名与 IP 都需要记录才行!
? /etc/sysconfig/network:可以在这个档案内指定 NIS 的网域 (nisdomainname)。
? /var/yp/Makefile:前面不是说账号数据要转成数据库文件吗? 这就是与建立数据库有关的动作配置文件;

1. 先设定 NIS 的域名
/etc/sysconfig/network
NISDOMAIN=zcgnis
#YPSERV_ARGS="-p 1011"

2. 主要配置文件 /etc/ypserv.conf
dns: no

# 设置客户端的查询权限,[主机名/IP] : [NIS域名] : [可用数据库名称] : [安全限制]
127.0.0.0/255.255.255.0 : * : * : none
192.168.122.0/255.255.255.0 : * : * : none
* : * : * : deny

# or use the simple form
#* : * : * : none

3. 设定主机名与 IP 的对应 (/etc/hosts)
192.168.122.1 zcgpc
192.168.122.2 c65

4. 启动服务
service ypserv start
service yppasswdd start

5. 创建用户并设置密码
useradd u10
useradd u11
echo "123"|passwd --stdin u10
echo "123"|passwd --stdin u11

6. 创建master nis数据库
/usr/lib64/yp/ypinit -m

======================================

NIS 客户端相关配置文件
? /etc/sysconfig/network:就是 NIS 的领域名嘛!
? /etc/hosts:至少需要有各个 NIS 服务器的 IP 与主机名对应;
? /etc/yp.conf:这个则是 ypbind 的主要配置文件,里面主要设定 NIS 服务器所在
? /etc/sysconfig/authconfig:规范账号登入时的允许认证机制;
? /etc/pam.d/system-auth :这个最容易忘记!因为账号通常由 PAM 模块所管理, 所以你必须要在 PAM 模块内加入 NIS 的支持才行!
? /etc/nsswitch.conf :这个档案可以规范账号密码与相关信息的查询顺序,默认是先找 /etc/passwd 再找 NIS 数据库

1、备份上面列举的配置文件,然后生成一个时间戳文件,用以查找配置过程中调整的配置文件,touch nis-do-begin.time

2、# setup
在菜单中选择『Authentication configuration』,勾选『Use NIS』,填写NIS 网域 (Domain) 以及 NIS 服务器的 IP (Server),最后会自动启动客户端的 NIS 服务
实践中报错:
Starting NIS service: [  OK  ]
Binding NIS service: .......................[FAILED]
Shutting down NIS service: [  OK  ]

定位半天,原因是nis服务端的服务没有启动,启动
# service ypserv start
# service yppasswdd start

手工在客户端执行,service ypbind start
Starting NIS service: [  OK  ]
Binding NIS service: .[  OK  ]

3、在/etc目录下查找setup配置过程中调整过的配置文件
# find /etc -type f -newer nis-do-begin.time
/etc/sysconfig/network
/etc/sysconfig/authconfig
/etc/yp.conf
/etc/nsswitch.conf
/etc/pam.d/smartcard-auth-ac
/etc/pam.d/password-auth-ac
/etc/pam.d/system-auth-ac
/etc/pam.d/fingerprint-auth-ac

比较修改内容,命令示例:
# diff <(sort /etc/nsswitch.conf) <(sort bak/nsswitch.conf)

对比结果:
/etc/sysconfig/authconfig
USENIS=yes

/etc/yp.conf
domain zcgnis server 192.168.122.1

/etc/sysconfig/network
NISDOMAIN=zcgnis

/etc/nsswitch.conf
对于下面几个项目的定义,添加nis 字样
passwd shadow group hosts netgroup automount

/etc/pam.d/system-auth-ac
password    sufficient    pam_unix.so sha512 shadow nis nullok try_first_pass use_authtok

/etc/pam.d/password-auth-ac
password    sufficient    pam_unix.so sha512 shadow nis nullok try_first_pass use_authtok

smartcard-auth-ac
fingerprint-auth-ac
这两个文件的时间被更新,但是由于之前没有备份,无从比较更新的内容,检查发现内容中也没有nis 字样 --感觉没变化呢

4、客户端测试
# yptest
..
WARNING: No such map in server's domain (Map passwd.byname)
5 tests failed

# ypwhich -x

# ypcat passwd.byname
No such map passwd.byname. Reason: No such map in server's domain

查看nis 服务的日志信息,看来是权限设置的问题
Nov 25 09:48:39 zcgpc ypserv[5233]: refused connect from 192.168.122.2:908 to procedure ypproc_match (zcgnis,passwd.byname;-1)
Nov 25 09:50:08 zcgpc ypserv[5233]: refused connect from 192.168.122.2:928 to procedure ypproc_all (zcgnis,passwd.byname;-1)

检查服务端的/etc/ypserv.conf,发现客户端的查询权限设置错误,照抄了鸟哥的IP段    --修正之后,搞定

你可能感兴趣的:(读书笔记)