NIS是网络信息服务 (Network Information Services)的简称,最初由Sun Microsystems开发,用于UNIX® (最初是SunOS)系统的集中管理。目前,它基本上已经成为了业界标准,所有主流的类UNIX系统 (Solaris, HP-UX, AIX, Linux, NetBSD, OpenBSD, FreeBSD等等) 都支持NIS。
Sun原来准备称NIS为黄页(Yellow Pages)服务,但由于商标的问题,Sun将其改名为NIS。旧的术语 (以及yp),仍然经常可以看到,并被广泛使用。NIS是一个基于RPC的客户机/服务器系统,在功能类似与Windows中的活动目录,它允许在一个 NIS域中的一组机器共享一系列配置文件。这样,系统管理员就可以配置只包含最基本配置数据的NIS 客户机系统,并在单点上增加、删除或修改配置数据。
在NIS环境中,至少会有一台NIS服务器用于维护整个NIS环境中客户端所需的用户、组以及其它信息,它类似与Windows活动目录中的域控制 器;有多台NIS客户端通过NIS服务器来完成身份验证等工作。
下面分别讲述通过RHEL5来搭建NIS环境,以及为NIS用户配置家目录(通过该功能可实现类似与Windows活动目录中的用户漫游配置文件的 功能)。在整个文章讲述过程中将使用服务器与客户机如下:
服务器:192.168.1.1(服务器上启动DNS服务能够解析server1.example.com到192.168.1.1)nis服务域 为CHOCOLATE
客户机:192.168.1.2(客户机为192.168.1.2设定DNS为192.168.1.1,/etc/resolv)NIS服务域也为 CHOCOLATE
实验最后目的:
1.在服务器上存在用户nisuser1,在该服务器/rhome/nisuser1/目录下为该用户主目录
2.在客户机上并没有nisuser1存在,本地不存在/rhome目录
3.通过nis能够在客户机上实现远程客户验证。
4.服务器通过NFS共享/rhome/目录。
5.客户机在本机上用autofs服务在用户登录时能够自动挂接远程服务器目录/rhome/nisuser1实现在本机登录。
一、搭建NIS服务器
1.NIS服务器相关包:ypserv、ypbind(在RHEL5中默认已安装)、yp-tools(在RHEL5中默认已安装)。
2.在NIS服务器建立用户,用于客户端登录时使用。
#useradd -d /rhome/nisuser1 nisuser1
①:新建一个目录用于NIS用户家目录。
②:在建立用于NIS登录的用户是将其家目录指定到专用目录。
3.为NIS服务器指定NIS域名。
●在/etc/sysconfig/network文件中加入NIS域,编辑这个文件然后在文件的底部加入下面的 行:NISDOMAIN=CHOCOLATE(这里的test.com是NIS的域名不是该服务器的DNS区域名)。
●运行nisdomainname CHOCOLATE命令使得域立即生效
●在/etc/rc.d/rc.local文件中加以下内容,使得开机之后该域自动生效
/bin/nisdomainname CHOCOLATE |
4.生成NIS用户数据库。
在NIS环境中将以NIS服务器上的所有用户用于NIS环境中所有客户端身份验证。在第2步中已将用户建立完成,并已指定用户的家目录,下面需要使用以下 命令生成NIS用户数据库:
#/usr/lib/yp/ypbind -m
①:生成NIS用户数据库。
②:NIS服务器主机名,如有多个可在此处输入,如server1.example.com。
③:确认输入y。
配置完成后,需要到/var/yp下检查下有没有生成一个以NIS域名命名的文件,这是NIS的用户数据库,如果没有先删除该目录 下”(none)”目录,再重新生成数据库。
5.启动NIS服务器相关服务。
#service ypserv start #service ypbind start #service yppasswdd start #chkconfig ypserv on #chkconfig ypbind on #chkconfig yppasswdd on |
其中yppasswd用来使远程用户修改密码使用
6.使用NFS共享NIS用户家目录。
编辑vi /etc/exports文件加入以下内容(将所有NIS用户专用家目录通过NFS共享),并通过service nfs restart命令启动NFS服务:
/rhome/ *(rw) |
二、配置NIS客户端
nisuser1在登入�r自动将server1.example.com:/rhome/nisuser1 的 NFS 共享挂载到客户机本地家目录/rhome/nisuser1
1.将客户端加入NIS域。
nisdomainname CHOCOLATE
2.修改用户NIS客户端主配置文件yp.conf
vim /etc/yp.conf
domain CHOCOLATE server 192.168.1.1(写IP或域名都可以)
3.修改认证顺序,本地优先之后是NIS服务器
vim /etc/nisswitch
passwd: files nis
shadow: files nis
group: files nis
hosts: files nis dns
4.域配置写入到rc.local中以便开机启动时自动载入
vi /etc/rc.local
nisdomainname CHOCOLATE
service ypbind start
setsebool allow_ypbind on
getseboot allow_ypbind
5.service ypbind start
测试nisuser1
开个终端以nisuser1登录
至此,已经可以进行客户机在远程服务器上验证,但由于本地并没有/rhome/nisuser1目录所以当nisuser1用户在本机登录之后会有错误提 示没有登录主目录。接下来通过在客户机上设置autofs以便当用户登录时能够自动地挂接远程服务器通过NFS共享的/rhome/nisuser1/到 本地/rhome/nisuser1。
6.通过自动挂载功能在NIS客户端配置NIS漫游用户家目录。
这里千万注意的是不要建立/rhome目录否则autofs配置会发生错误。
●在NIS客户端编辑/etc/auto.master文件,加入以下内容。
/rhome/nisuser1 /etc/rhome.misc |
●在NIS客户端新建/etc/rhome.misc,并加入以下内容:
* -fstype=nfs,rw 192.168.1.1:/rhome/ |
或者 nisuser1 --fstype=nfs,rw 192.168.1.1:/rhome/nisuser1
●通过service autofs restart命令重启autofs服务。
到此整个NIS环境搭建完成。
注意:如果在服务器上添加新用户或者配置有变化一定要/usr/lib/yp/ypinit -s重新生成数据库。同时重新启动ypserv