本文共 4582 字,大约阅读时间需要 15 分钟。
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:环境
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)建立数据库#/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
转载地址:http://aiuli.baihongyu.com/