NIS.docx
- 文档编号:30155793
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:11
- 大小:20.75KB
NIS.docx
《NIS.docx》由会员分享,可在线阅读,更多相关《NIS.docx(11页珍藏版)》请在冰豆网上搜索。
NIS
NIS
1什么是NIS
Nis是由sun公司开发的用于集中管理用户信息的软件,可以实现类似Windows中AD的相似功能。
就是将客户端所需要的一些用户信息都集中到NISserver上集中管理。
方便维护和管理。
在rhel6之前的版本NIS是依赖RPC服务的。
2可以由NISserver管理的信息文件
由NISServer管理的含义就是指NISserver提供这些文件供NISclient来使用,而clent不再使用本机上相应的文件
默认:
/etc/passwd、/etc/group、/etc/hosts、/etc/services、/etc/protocols、/etc/netgroup、/etc/rpc、/var/yp/ypservers
这些是在/var/yp/Makefile定义的
打开/var/yp/Makefile找到all:
开始的行,这行后面的文件就是/etc目录下相应的文件名,可以添加eg:
我们将自动挂载autofs服务的配置文件添加到NIS管理信息中,只需在这行加入auto.masterauto.msic就行了。
然后在server端配置好这两个文件,然后client端就会自动去读取这两个文件到本地供autofs服务使用。
3安装的包有
服务端ypbind.i386yp-tools.i386ypserv.i386
客户端ypbind.i386yp-tools.i386
4主配置文件/etc/ypserv.conf
一般对于该配置文件的内容不需要做太多修改:
#ypserv.confInthisfileyoucansetcertainoptionsfortheNISserver,
#andyoucandenyorrestrictaccesstocertainmapsbased
#ontheoriginatinghost.
#Seeypserv.conf(5)foradescriptionofthesyntax.
#Someoptionsforypserv.Thisthingsareallnotneeded,if
#youhaveaLinuxnet.
#ShouldwedoDNSlookupsforhostsnotfoundinthehoststable?
#Thisoptionisignoredinthemoment.
dns:
no
#Howmanymapfilehandlesshouldbecached?
files:
30
#ShouldweregisterypservwithSLP?
slp:
no
#Afterhowmanysecondsweshouldre-registerypservwithSLP?
slp_timeout:
3600
#xfrrequestsareonlyallowedfromports<1024
xfr_check_port:
yes
#Thefollowing,whenuncommented,willgiveyoushadowlikepasswords.
#NotethatitwillnotworkifyouhaveslaveNISserversinyour
#networkthatdonotrunthesameserverasyou.
#Host:
Domain:
Map:
Security
#
#*:
*:
passwd.byname:
port
#*:
*:
passwd.byuid:
port
#Noteverybodyshouldseetheshadowpasswords,notsecure,since
#underMSDOGeverbodyisrootandcanaccessports<1024!
!
!
*:
*:
shadow.byname:
port
*:
*:
passwd.adjunct.byname:
port
#Ifyoucommentoutthenextrule,ypservandrpc.ypxfrdwill
#lookforYP_SECUREandYP_AUTHDESinthemaps.Thiswillmake
#thesecuritycheckalittlebitslower,butyouonlyhaveto
#changethekeysonthemasterserver,nottheconfigurationfiles
#oneachNISserver.
#IfyouhavemapswithYP_SECUREorYP_AUTHDES,youshouldcreate
#aruleforthemabove,that'smuchfaster.
#*:
*:
*:
none
在ypserv.conf文件中最重要的配置部分是访问控制的设置,管理员通过添加访问控制的设置允许或拒绝指定的主机使用NIS服务。
<访问控制记录>由四个字段构成,从左到右依次是主机地址,网络域名,映射数据库类型和安全等级,记录中的各字段之间用冒号分隔,格式如下:
主机地址:
网络域名:
映射数据库类型:
安全等级
访问控制记录中各字段的含义如下:
*主机地址*---可以是主机的IP地址或主机名称,也可以是子网地址,例如192.168.1.0/255.255.255.0,若使用*号则表示所有的主机。
*网络域名*---在设置记录中其实并不常用,通常设置为*号即可。
*映射数据库类型*---是NIS服务器中的数据库名称,可以是单独的数据库,例如passwd.byname,也可以使用*号代表全部数据库。
*安全等级*---可以设置为none,port,deny关键字。
none表示客户机可无条件的访问NIS服务器;
port表示仅允许客户机从1024以下的端口访问NIS服务器,由于只有root用户才可以使用1024以下的端口,因此port设置相对安全些;
deny表示无条件拒绝客户机对NIS服务器的访问,通常用作默认的访问策略,可提高系统的安全性。
例:
一个ypserv.conf文件中最基本和最常用的访问控制记录
127.0.0.0/255.255.255.0:
*:
*:
none
192.168.1.0/255.255.255.0:
*:
*:
none
*:
*:
*:
deny
其中127.0.0.0/255.255.255.0网段设置了主机环回地址的访问策略;192.168.1.0/255.255.255.0设定的是NIS客户机所在局域网的网段,允许该网段中的NIS客户机访问NIS服务器;最后一行是默认的访问策略,设置其他的所有主机将被NIS服务器无条件拒绝访问。
5安全控制文件/var/yp/securenets
虽然ypserv.conf配置文件中可以使用访问控制记录配置NIS服务器中数据库的访问控制,除此以外NIS服务器还提供了securenets文件用于对NIS客户端主机的访问控制。
而且securenets文件具有比ypserv.conf配置文件更高的对主机进行访问控制的级别和效率。
securenets文件应该保存在“/var/yp”目录中,但是系统中/var/yp目录中默认并没有securenets文件,需要管理员进行手动建立(/usr/share/doc/ypserv-2.19目录中有一个样例)。
当“/var/yp”目录中,securenets文件不存在时,NIS服务器将允许所有主机访问NIS服务器(默认的安全设置有欠缺)。
securenets文件的配置比较简单,可以使用主机和网络两种配置记录。
*主机配置记录:
以host关键字开始,空格后设置主机的IP地址(不要使用主机名);
*网络配置记录:
由子网掩码和网络地址两部分组成,中间用空格进行分隔,需要注意子网掩码在前,网络地址在后的顺序;符合访问控制记录的主机被允许访问NIS服务器,其他主机将被拒绝访问。
例:
配置一个securenets文件示范
#vi/var/yp/securenets(需手动建立)
host127.0.0.1
255.255.255.0192.168.1.0
其中host127.0.0.1记录设置允许NIS服务器本机访问;
255.255.255.0192.168.1.0记录设置192.168.1.0/24子网中的所有主机允许访问NIS服务器,其他的所有主机都被NIS服务器拒绝访问。
6相关配置文件文件
/etc/hosts要求该文件中必须要有主机名和IP的对应记录
/var/yp/nicknames定义一些别名可以参照其中的格式
/etc/sysconfig/network定义NIS域名NISDOMAIN=tyloo,该文件重启网络服务生效servicenetworkrestart结合nisdomainnametyloo来修改就不用重启
7相关的命令
/usr/sbin/yp*
/usr/bin/rpc*
/usr/lib/yp/ypinit初始化NIS数据库,就是重新将/var/yp/Makefile中定义的资料文件重新读入到NIS数据库中,所以修改了资料文件都要重新初始数据库。
/usr/sbin/yppush用于主从模式手动将资料文件传送到从上面。
一般来说不需要用到,因为主自动会通知从来读取资料文件,而从本身隔断时间也会从主上面读取。
yppasswd这个是用于客户端的命令,修改用户密码并同步到NIS服务器上面。
需要主打开yppasswd服务来支持
8实现简单的NISserver---NISclient
能达到的功能,NISclient不但能够使用NISserver上的用户,还能够自动将相应用户的家目录挂载到client来使用
步骤:
server
1安装yp*包
2建立测试环境
mkdir-p/nis/home
useradd-d/nis/homenistest
3修改/etc/sysconfig/network-secripts/ifcfg-eth0设置静态IP,NIS服务器不能使用DHCP获取IP,否则服务中可能会出莫名的错。
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.25.131
NETMASK=255.255.255.0
HWADDR=00:
0C:
29:
FC:
C2:
D8
ONBOOT=yes
4修改/etc/hosts添加IP和主机名的对应,因为该文件属于资料文件,所以会被client所读取,就不用再修改client的该文件了
192.168.25.131www
5修改/etc/sysconfig/network为NIS设置域名
echo"NISDOMAIN=tyloo">>/etc/sysconfig/network
Nisdomainnametyloo
6设置自动挂载文件
vi/etc/auot.master
/nis/homeyp:
auto.home意思是以yp服务去调用auto.home文件来执行autofs挂载
vi/etc/auto.home
*192.168.25.131:
/nis/home/&这前的*和后面的&都是匹配当前用户,意思就是针对不同的用户从server上挂载这个用户的家目录到本地
7定义资料文件
vi/var/yp/Makefile
找到all:
行添加“auto.masterauto.home”
8启动服务:
serviceypservrestart
serviceportmaprestart
9初始化数据库/usr/lib/yp/ypinit-m
10可选的服务
/etc/init.d/yppasswdrestart使得client支持yppasswd命令
/etc/init.d/ypxfrdrestart加速server向client传送较大资料文件的速度
Client
1打开NIS客户端在客户端有两种方式开启开启nisclient功能
A使用红帽管理命令
system-config-authentication使用该方法设置简单,但是需要在图形界面下还要求咋安装系统时候选择了系统工具。
B手工配置后面在做介绍
2ypcatauto.master能看到/nis/homeyp:
auto.home就说明资料文件读取正确
3mkdir/nis/home-p
4su-nistest成功就说明NIS配置已经成功
下面介绍一下手工配置NISclient的方法
1NIS客户端所需的软件包
RHEL5系统作为NIS客户机使用时,需要使用ypbind和yp-tools两个软件包,这两个软件包是默认安装到系统中的。
因此不需要手动进行安装。
#rpm-qa|grep^yp默认以下两个包时安装了的
ypbind-1.19-7.el5(ypbind是作为NIS客户端与NIS服务器进行通信的服务程序,软件包中包括执行程序,配置文件和启劝脚本等文件)
yp-tools-2.9-0.1(包括了对NIS服务器进行测试,查询和管理功能的工具程序,所有的命令文件名都以yp开始)
2设置hosts文件
在NIS客户机的hosts中应添加NIS服务器的主机名称解析记录,以便NIS客户机能够使用主机名访问NIS服务器。
#echo‘192.168.25.131www’>>/etc/hosts
3建立NIS域名
在NIS客户机建立NIS域名的操作方法与NIS服务器中完全相同,需要进行以下操作:
#nisdomainnametyloo(与服务器相同,假设NIS域名为tyloo)
#echo‘/bin/nisdomainnametyloo’>>/etc/rc.d/rc.local(NIS服务器主机每次启动都需要进行NIS的域名设置)
#echo‘NISDOMAIN=tyloo’>>/etc/sysconfig/network(以便NIS服务器主机能够进行正确的网络设置)
4设置yp.conf配置文件
ypbind服务程序的配置文件是yp.conf,只需要在该配置文件中设置NIS域名和NIS服务器的主机名即可:
#ehco‘domaintylooserverwww’>>/etc/yp.conf
配置语句中domainuplookingserverNISserver设置了当前使用的NIS域名为tyloo,所使用的NIS服务器的主机名是www
5设置“etc/nsswitch.conf”文件
RHEL5系统中的/etc/nsswitch.conf文件用于设置系统中信息的查询方式,对于用户账号,组账号等信息在nsswitch.conf文件中的默认设置,为只使用本地文件;对于主机名称解释,使用本地文件和DNS服务器。
nsswitch.conf文件中相关设置项不是代表系统中的文件或命令,而是代表相关信息的查询方式,具体含义如下:
passwd:
files*passwd表示用户账号信息的查询
shadow:
files*shadow表示用户口令信息的查询
group:
files*group表示用户组账号信息的查询
hosts:
filesdns*hosts表示主机名信息的查询
NIS客户机中需要修改nsswitch.conf文件,在files之后设置使用nis,即优先使用本地文件,然后使用NIS服务器获取信息,如:
passwd:
filesnis
shadow:
filesnis
group:
filesnis
hosts:
filesnisdns
7启动ypbind服务程序
NIS客户机需要运行ypbind服务程序来实现对NIS服务器的信息访问,在启动ypbind服务之前需要先确认portmap服务已经启动,因为ypbind服务程序的运行同样依赖于portmap服务。
并且RHEL5系统中虽然默认安装了ypbind软件包,但是并没有设置ypbind服务程序的自动启动,管理员需要使用chkconfig命令手动设置ypbind服务在运行级别3和5中自动启动。
#serviceportmapstatus
#serviceypbindstart
#chkconfig--level35ypbindon
8在NIS客户机上测试与NIS服务器的连接
yp-tools软件包中提供了yptest,ypwhich,ypcat共三个命令工具可用于在NIS客户机中测试与NIS服务器的连接,所有的测试命令都是通过NIS客户机中的ypbind服务程序对NIS服务进行查询的。
<1>yptest:
是基本的NIS服务器测试命令,该命令会对NIS服务器的域名,主机,数据库及其内容进行自动测试,并显示测试的结果。
#yptest
<2>ypwhich:
可显示NIS客户机所使用的NIS服务器的主机名称,当ypwhich使用“-x”选项时会显示NIS服务器中使用的数据库和映射文件的名称。
#ypwhich
NISserver(只会显示NIS服务器主机名)
#ypwhich-x
(显示NIS服务器中使用的数据库和映射文件的名称)
<3>ypcat:
ypcat-x会与ypwhich-x命令显示相同的查询信息。
当使用数据库名作为ypcat命令的参数时,ypcat命令将显示指定数据库的内容。
管理员可以从ypcat命令的结果中查询到NIS服务器数据库中非常有用的信息。
#ypcat-x
#ypcatgroup(使用数据库名作为命令参数)
9NIS客户端用户登录
在NIS客户端主机中测试与NIS服务器连接成功后,就可以尝试使用NIS服务器中的用户账号登录NIS客户机了.但当使用NIS服务器中的用户账号成功登录系统后,屏幕会提示没有找到用户宿主目录的信息,这是由于NIS客户机本地文件系统中没有在“/home”目录下建立用户的宿主目录。
(由于系统防火墙的默认配置,可能造成NIS客户机和NIS服务器之间无法进行通信,如果用户在NIS客户机中登录不成功,可以先将NIS服务器和NIS客户机的iptables防火墙服务关闭,命令:
#serviceiptablesstop或#iptables-F)
10用户密码修改
用户登录NIS客户端后,使用yppasswd命令可以修改NIS服务器端保存的用户口令,而不能用passwd命令修改。
用户执行yppasswd命令后将提示输入旧的用户口令,然后输入两次新口令,若新口令符合系统要求,NIS服务器中该用户的口令将更新为新设的口令。
当root用户执行yppasswd命令指定用户名作为命令参数时,可修改指定用户的口令,但是还需要先输入root的用户口令。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- NIS