RHEL6: NIS的简单配置

参考文档

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

nis1

nis2

nis3

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