Linux下如何实现用户的集中管理(NIS的配置过程)
实验背景:
xiaonuo公司使用RHEL4系统构建了整套Linux网络服务,可能某些网络服务中需要大量相同的用户账号,如果针对每一台服务器里的用户账号进行管理,需要耗费大量的时间和精力。而且用户每次需要更改口令,要登录到每台服务器上进行更改。能否将维护相同账户的服务器里的所有用户账户信息放置在一台服务器上进行集中验证呢,NIS服务给出了解决方案。
NIS服务器的应用结构分为NIS服务器和NIS客户机两个角色。NIS服务器集中维护用户账户的信息供NIS客户机查询。用户登录任何一台NIS客户机都从NIS服务器进行登录认证,这样就实现了用户账户的集中管理。
NIS服务器除了为NIS客户机提供用户账户信息之外,还提供组账户信息、IP地址与主机名称对应记录的信息。为了方便NIS客户机的查询,这些信息在NIS服务器中被保存在不同名称的数据库(文件)中进行集中管理
本实验以一台NIS服务器(200.200.200.200)和一台NIS(200.200.200.100)客户机为例加以说明。
实验步骤:
一、NIS服务器端的配置
1、
NIS
软件包安装
首先查询系统中是否安装了NIS服务器软件ypserv,默认是不安装的。其中,yp-tools软件包中提供了对NIS服务器的查询和管理工具软件,ypbind是NIS客户端需要使用的软件包。
ypserv服务器和NFS服务器类似,由于都是SUN公司开发的,都需要portmap服务的支持,因此在安装ypserv之前需要先确认portmap软件包已经安装。
RHEL4安装第一张光盘里提供了NIS服务器的RPM安装包,需要将第一张光盘挂在到系统中。
使用rpm �Civh 命令安装ypserv软件包,安装完成之后需要再次使用rpm �Cqa | grep ^yp查看是否已安装成功。
重新启动protmap服务。
2、
设置time和time-upd服务的启动状态
ypserv服务的启动和运行需要time和time-upd两个服务的支持,这两个服务都是xinetd超级服务器管理的服务。在RHEL4系统中,这两个服务默认是禁用状态,因此需要使用chkconfig命令设置这两个服务的状态为启用,并重新启动xinetd服务使设置生效。
3、
建立NIS域名
nisdomainname命令用于建立NIS服务器的临时域名,重启后失效,为了每次重启都生效,可以将nisdomainname命令添加到rc.local文件中。添加完成之后,查看一下是否添加成功。
同时还需要将“NISDOMAINNAME=xiaonuo.com”配置项添加到“/etc/sysconfig/”目录的network文件中,以便NIS服务器主机能够进行正确的网络设置。
4、
设置ypserv服务的配置文件,提高NIS服务的安全性
(1)
ypserv.conf
文件的配置
ypserv.conf
配置文件中可以使用访问控制列表记录配置NIS服务器中数据库的访问控制。
NIS服务器程序(ypserv)的配置文件位于“/etc”目录,文件名称是ypserv.conf,对与该配置文件的内容不需要做太多修改。只需要修改最后的访问控制记录即可。
访问控制记录由4个字段构成,从左到右依次是主机地址、网络域名、映射数据库类型和安全等级,记录各字段之间用冒号分隔。
主机地址:网络域名:映射数据库类型:安全等级
主机地址:可以是主机的IP地址或主机名称,也可以是子网地址,*表示所有地址。
网络域名:在设计记录时不常用,通常设置为星号(*)即可。
映射数据库类型:NIS服务器中的数据库名称,可以是单独的数据库,也可以使用(*)代表全部的数据库。
安全等级:有none、port和deny三个等级,none表示客户机可无条件的访问NIS服务器。Port表示仅运行客户端从1024以下的端口访问NIS服务器,增加了一定的安全性。deny表示无条件拒绝客户机对NIS服务器的访问,通常用作默认的访问策略,可提高系统的安全性。
注意:127.0.0.1/255.255.255.0网段设置了主机回环地址的访问策略。
(2)
securenets
安全设置文件
secruenets文件用于对NIS客户端主机的访问控制,它具有比ypserv.conf配置文件更高的对主机进行访问控制的级别和效率。
securenets文件应该保持在“/var/yp”目录中,但是RHEL4系统中默认没有securenets文件,需要管理员进行手动建立。当securenets不存在时,NIS服务器将允许所有主机访问NIS服务器。
Securenets文件的配置比较简单格式为
主机记录:host ip
网络记录:子网掩码 网络地址
注意:没有设置的都将被拒绝访问。
5、
启动NIS服务器
启动NIS必须的两个服务程序:ypserv和yppasswdd。
同样,RHEL4在安装ypserv软件包时,并没有设置ypserv和yppasswdd服务程序在系统启动时(3和5)自动启动,因此需要使用chkconfig命令手动进行设置。
6、
添加用户,做测试
添加一个用户xiaonuo,并设置密码
7、
构建NIS数据库
ypserv和yppasswdd服务程序运行后,需要使用ypinit命令构建NIS服务器的数据库文件。
需要注意的是:当在NIS服务器主机中对本地系统用户账号、组账号等信息(文件)更改后都需要使用ypinit命令重新构建数据库文件的内容,否则NIS客户端主机获得的信息不会自动更新。
ypinit �Cm 命令其实是调用make命令,并根据“/var/yp”目录中的Makefile文件的配置内容进行NIS服务器数据库文件的创建,因此修改“Makefile”文件中的配置将会影响创建NIS服务器的数据库文件的过程和结果。
二、NIS客户端的配置管理
1
、NIS客户端需要的软件包
RHEL4系统作为NIS客户端使用时,需要使用ypbind和yp-tools两个软件包,这两个软件包是默认安装到系统中的,因此不需要手动安装。
ypbind是作为NIS客户端与NIS服务器进行通信的服务程序,软件包中包括执行程序、配置文件和启动脚本等文件。
yp-tools软件包中包括了对NIS服务器进行测试、查询和管理功能的工具程序,所有命令文件名都已yp开始。
2
、建立NIS的域名
在NIS客户机中机建立NIS域名的操作方法与NIS服务器中完全相同,这里就使用另外一种方法建立这些设置
选择Tool “Authentication configruration”
选中 “Use NIS”选项,然后切换到“Next”
输入NIS域名以及对应的IP地址,点击“OK”完成之后,点击“Next”退出。
RHEL4系统中虽然默认安装了ypbind软件包,但是并没有设置ypbind服务程序的自动启动,管理员需要使用chkconfig命令手动设置ypbind服务在运行级别3和5中自动启动。
3
、NIS客户端用户登录
NIS客户端设置完成之后,使用NIS服务器端的用户账号登录系统,屏幕会提示没有找到用户宿主目录的信息,这是由于NIS客户机本地文件系统中没有在“/home”目录下建立用户宿主目录。
注意:由于RHEL4系统中有网络防火墙的默认配置,可能造成NIS客户机和NIS服务器之间无法进行正常通信,如果用户在NIS客户机中登录不成功,可以先将NIS服务器和NIS客户机中的iptables防火墙服务关闭,操作命令如下: