RHEL NIS服务器搭建 (Master+Slave+Client)

1:NIS简介
NIS是network information service 主要是用来提供用户登陆的信息供客户端主机来查询之用,主要是用来集中化管理账户的一个服务。
整个NIS的运行流程如下:
(1)NIS Server(Master/Slave)的运行流程
>NIS master先将本身的账号密码相关文件制作成为数据库问文件
>NIS master可以主动告诉NIS slave Server来更新
>NIS slave亦可主动前往NIS master Server取得更新后的数据库文件
>如有账户密码变动时,需要重新制作数据库文件并重新同步化Master/Slave.
(2)当NIS Client有任何登陆查询的需求时
>NIS Client若有登陆需求时,会先查询其本机的/etc/passwd,/etc/shadow等文件。
>若在NIS Client本机找不到相关的账号信息,才开始向整个NIS网段的主机广播查询。
>每台NIS Server (不论Master/Slave)都可以响应,基本上是先响应者优先。

2:环境 Linux认证
Master.com     192.168.76.131
Slave.com        192.168.76.132
Client.com        192.168.81.35
需要安装的软件
。yp-tools:提供NIS相关的查询命令的功能
。ypbind:提供NIS Cilent端的的设置软件
。ypserv:提供NIS Server端的设置软件
。portmap:这是RPC必须的软件
主要的配置文件
。/etc/ypserv.conf:这是最主要的配置文件,用于设置NIS客户端是否可登陆的权限
。/etc/hosts:非常重要,每一台主机都需要记录才行。
。/etc/netgroup:设置信任的主机和域名
。/var/yp/Makefile:建立与数据库有关的操作设置文件
。/etc/sysconfig/network :可以再找个文件内指定NIS的域名(nisdomainname)
服务器提供的主要服务
。/usr/sbin/ypserv:就是NIS服务器提供的主要服务
。/usr/sbin/rpc.ypxfrd:用作Master/Slave主机之间的传输数据库的服务
。/usr/sbin/rpc.yppasswdd:提供额外的NIS客户端的用户密码修改服务,通过这个服务,NIS客户端可以直接修改在NIS服务器上的密码,使用程序则是yppasswd服务
与数据库有关的命令
。/usr/sbin/yppush:Master主机将数据库直接送至Slave的命令
。/usr/lib/yp/ypinit:建立数据库的命令,非常常用 (注意:如果你是X64位系统,则lib为lib64,下同)
。/usr/lib/yp/ypxfr:传送数据库的命令,在该目录下有ypxfr_1perday、ypxfr_1perhour、ypxfr_2perday等

3:NIS Master的设置与启动
(1)设置NIS的域名
所有的NISServer/Client都需要设置NIS域名才行
#nisdomainname (查询是否设置了域名,没有则设置)
#nisdomainname com //设置域名为com
#vi /etc/rc.d/rc.local
//加入下面这一行
/bin/nisdomainname com //在开机的时候设置域名为com
若想在启动NIS的时候自动设置NIS域名,怎么设置呢?
# vi /etc/sysconfig/network
//加入下面这一行
NISDOMAIN=com
(2)主要配置文件/etc/ypserv.conf
这个配置文件就是NIS服务器最主要的配置文件。内容其实很简单,保留默认值即可。不过,也可以做一些改动。
#vi /etc/ypserv.conf
//其他的保留默认,在最后面加上如下几行
127.0.0.0/255.255.255.0 :* :* :none   //开放lo内部端口
192.168.76.0/255.255.255.0 :* :* :none   //开放76网段端口
192.168.81.0/255.255.255.0 :* :* :none   //开放81网段端口
*   :* :* :deny      //拒绝其他NIS请求
(3)设置主机名称(/etc/hosts)与建立信任群组(/etc/netgroup)
#vi /etc/hosts
192.168.76.131   Master.com
192.168.76.132   Slave.com
192.168.81.35      Client.com
#touch netgroup    //因为默认netgroup这个文件不存在,所以需要建立,而当里面为空白时,表示这个文件信任所有
(4)启动所有相关服务
#/etc/init.d/portmap    start //启动RPC服务
#/etc/init.d/ypserv       start //启动NIS服务
#/etc/init.d/yppasswdd start //启动这个服务,客户端就可以自己更改密码
用rpcinfo命令查看 ypserv是否启动正常
(5)建立数据库

Cisco IOS On Unix 专题

#/usr/lib/yp/ypinit -m      //lib可能是lib64,当你系统为X64时 运行这个命令时需要Ctrl+D 如果默认的NIS域名对的话
#/etc/init.d/ypserv restart   //重启服务,在生成了数据库和更新了密码后
#/etc/init.d/yppasswdd retart
(6)与Slave Server及数据库有关的一些设置
#cd /var/yp
#make passwd   //在你只更改了用户参数 或者 只更改/etc/passwd这个文件有直接用这个命令,而不需要去重启ypserv这个服务
#vi /var/yp/Makefile
//找到下面这一行
NOPUSH=true
//将它改成
NOPUSH=false   //这个值设置好了后 就可以把数据库推到Slave服务器上,不过你的告诉Master他的Slave服务器的位置
#vi /var/yp/ypServers
Master.com
Slave.com
//增加上面这一行,因为在/etc/hosts里面写好Slave.com的位置 所以这里可以认到Slave的位置
#/etc/init.d/ypxfrd start   //启动这个服务,可以让Slave自动连接上来,而不需要管理员手动干预
或者
#yppush -h Slave.com passwd.*
用这个命令直接传个Slave
具体这个Master/Slave同步,可以是以下这些步骤
>先以useradd username 或passwd username等制作出Master上的实体用户
>再以make或者直接以/usr/lib64/yp/ypinit -m 来制作出最新的数据库
>利用yppush这个命令来进行数据库的传输

4:NIS Slave的设置和启动
(1)设置域名
同上NIS Master设置步骤相同
(2) 设置主要的配置文件/etc/ypserv.conf
同上NIS Master设置步骤相同
(3)设置/etc/hosts及/etc/netgroup
同上NIS Master设置步骤相同
(4)启动所有服务并建立数据库
#/etc/init.d/portmap start   //首先也必须安装和master一样的软件包(yp-tool ypbind ypserv)
#/etc/init.d/ypserv   start
#/usr/lib64/yp/ypinit -s Master.com   //这个地方时从Master上取得数据库 而不是-m自动生成数据
#ypcat -h Slave.com passwd.byname //这样就可以见到在master上生成的新的账户
#vi /etc/crontab
20 * * * * root sh /usr/lib64/yp/ypxfr_1perhour   //每小时的20分时 自动去Master上更新数据库
...... //这里可以根据自己的情况 制定更多的计划任务
#vi /usr/lib64/yp/ypxfr_1perhour
//找到这一行
$YPBINDIR/ypxfr $map
//改成
$YPBINDIR/ypxfr $map -h Master.com
这样Slave会自动更新自己的数据库,当Master上有变化时

5:NIS    lient端的设置
(1)NIS Client所需的软禁啊
Ypbind
yp-tools
(2)NIS Client的设置和启动
#nisdomainname com
#vi /etc/rc.d/rc.local
/bin/nisdomainname com
#vi /e/tc/sysconfig/network
NISDOMAIN=com
#vi /etc/hosts
.......
启动ypbind来连接至NIS Server
authconfig 配置
选好Use NIS 然后填好Domain和Server就可以了
也可以启动
#/etc/init.d/portmap start
#/etc/init.d/ypbind start
(3)NIS Client的检验:yptest ypwhich ypcat
利用yptest检验数据库,如果没报错就表示正常
利用Ypwhich检验数据数量
利用ypcat读取数据库的内容
ypcat passwd.byname
(4)用户参数修改:yppasswd ypchfn ypchsh
。yppasswd:与passwd命令功能相同
。ypchfn:与chfn功能相同
。ypchsh:与chsh功能相同

其他:在这个环境里,如果你在客户端用在服务器端的用户登陆的时候,会提示找不到主目录的,原因是,因为这个账号在客户端没有这个账号 固他不知道这个账号的主目录在那个位置,可以使用NFS 在客户端上把服务器端的home挂载在本地的HOME目录,这样一来就不会找不到主目录了,具体步骤如下
在服务器端
#vi /etc/exports
/home * (rw,sync)
#exports -rv
#/etc/init.d/nfs restart
#chkconfig --level 35 nfs on
在客户端
mount -t nfs -o bg,soft 192.168.76.131:/home /home
如果命令没有问题,则把它写入/etc/rc.d/rc.local里,这样每次开机能自动挂载.

http://blog.163.com/net527@yeah/blog/static/172562860201111244619584/?fromdm&fromSearch&isFromSearchEngine=yes


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值