参考文档
1. 鸟哥Linux私房菜-NIS http://linux.vbird.org/linux_server/0430nis.php
2. The Linux NIS(YP)/NYS/NIS+ HOWTO http://www.tldp.org/HOWTO/NIS-HOWTO/ypserv.html
实验环境
1. Server1, Server2 系统都是RHEL6.5;
2. Server1 IP为 192.168.122.108;
3. Server2 IP为 192.168.122.50;
实验内容
1. 以Server1 作为 NIS Server, Server2 作为Client.
2. 在Server2上尝试用NIS Server提供的用户信息登录;
3. 配置NFS家目录;
配置NIS Server
1. 安装所需软件包
[root@server1 ~]# yum install yp-tools ypbind ypserv rpcbind
2. 配置Server所属的域和主机名,Server 和 Client要在同一个域里呀。
修改/etc/sysconfig/network
HOSTNAME=server1.nis.example.com NISDOMAIN=nis.example.com YPSERV_ARGS="-p 1011"
修改/etc/hosts
192.168.122.108 server1.nis.example.com
3. 让yppasswdd用固定端口。
修改/etc/sysconfig/yppasswdd
YPPASSWDD_ARGS="--port 1012"
4.开机启动NIS服务
[root@server1 ~]# chkconfig ypserv on [root@server1 ~]# chkconfig yppasswdd on
重启计算机。
5. 检查服务是否正常开启。
[root@server1 ~]# rpcinfo -p localhost | grep yp 100004 2 udp 1011 ypserv 100004 1 udp 1011 ypserv 100004 2 tcp 1011 ypserv 100004 1 tcp 1011 ypserv 100007 2 udp 766 ypbind 100007 1 udp 766 ypbind 100007 2 tcp 769 ypbind 100007 1 tcp 769 ypbind 100009 1 udp 1012 yppasswdd [root@server1 ~]# rpcinfo -u localhost ypserv program 100004 version 1 ready and waiting program 100004 version 2 ready and waiting
6. 添加用于测试的用户。
[root@server1 ~]# useradd -u 1001 nisuser1 [root@server1 ~]# useradd -u 1002 nisuser2 [root@server1 ~]# useradd -u 1003 nisuser3 [root@server1 ~]# [root@server1 ~]# echo redhat | passwd --stdin nisuser1 [root@server1 ~]# echo redhat | passwd --stdin nisuser2 [root@server1 ~]# echo redhat | passwd --stdin nisuser3
7.创建数据库。
NIS的用户信息是用数据库存储的,所以第一次用NIS要建立数据库。
[root@server1 ~]# /usr/lib64/yp/ypinit -m
8.配置iptables.
在/etc/sysconfig/iptables适当位置加入
-A INPUT -p tcp -s 192.168.122.0/24 --dport 1011 -j ACCEPT -A INPUT -p udp -s 192.168.122.0/24 -m multiport --dport 1011,1012 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 111 -j ACCEPT -A INPUT -p udp -m state --state NEW -m udp --dport 111 -j ACCEPT
配置NIS Client
1. 安装所需软件。
[root@server2 ~]# yum install ypbind yp-tools
2. 配置主机名和域名
修改/etc/sysconfig/network
HOSTNAME=server2.nis.example.com NISDOMAIN=nis.example.com
修改/etc/hosts,加入
192.168.122.108 server1.nis.example.com 192.168.122.50 server2.nis.example.com
3. 用setup图形化方式配置。
[root@server2 ~]# setup
setup这家伙会自动修改/etc/sysconfig/network, /etc/yp.conf, /etc/nsswitch.conf这几个文件。
4. 测试
用yptest可以测试
[root@server2 ~]# yptest
也可以直接尝试切换到一个已知用户上。
[root@server2 ~]# su nisuser1 bash-4.1$ exit exit [root@server2 ~]#
ypwhich -x可以看有哪些可用资料,ypcat 数据库名称 可以显示数据库内容。
用NFS提供家目录
1.在NIS Server端创建用户,并指定其家目录。
[root@server1 ~]# userdel -r nisuser1 [root@server1 ~]# userdel -r nisuser2 [root@server1 ~]# userdel -r nisuser3 [root@server1 ~]# useradd -u 1001 -d /rhome/nisuser1 nisuser1 [root@server1 ~]# useradd -u 1002 -d /rhome/nisuser2 nisuser2 [root@server1 ~]# useradd -u 1003 -d /rhome/nisuser3 nisuser3 [root@server1 ~]# echo redhat | passwd nisuser1 --stdin [root@server1 ~]# echo redhat | passwd nisuser2 --stdin [root@server1 ~]# echo redhat | passwd nisuser3 --stdin
2.共享NFS目录(Server端)。
在/etc/exports中加入
/rhome *(rw,sync)
重新加载共享目录
[root@server1 ~]# exportfs -arv
防火墙等配置请看 https://feichashao.com/nfs/
3. 更新数据库(Server端)
[root@server1 ~]# cd /var/yp/ [root@server1 yp]# make
4.在Client端设置autofs
修改/etc/auto.master,加上。
/rhome /etc/auto.rhome
创建/etc/auto.rhome 内容为
* -fstype=nfs,rw 192.168.122.108:/rhome/&
重启autofs
[root@server2 ~]# /etc/init.d/autofs stop [root@server2 ~]# /etc/init.d/autofs start
5. 测试
在Client端登录一个NIS用户。
[root@server2 ~]# su nisuser1 [nisuser1@server2 root]$ cd [nisuser1@server2 ~]$ pwd /rhome/nisuser1