免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1240 | 回复: 0
打印 上一主题 下一主题

[其他] NIS的Master/Slave配置问题 [复制链接]

论坛徽章:
5
程序设计版块每日发帖之星
日期:2016-04-15 06:20:00每日论坛发贴之星
日期:2016-04-15 06:20:0015-16赛季CBA联赛之八一
日期:2016-07-08 09:20:28操作系统版块每日发帖之星
日期:2016-08-03 06:20:002016科比退役纪念章
日期:2016-10-30 13:59:12
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-04-29 11:20 |只看该作者 |倒序浏览
我自己搭建了三台虚拟机,NIS Master , NIS  Slave , NIS Client
NIS Master :  192.168.18.21
NIS Slave :    192.168.18.22
NIS Client :    192.168.18.23

我先说下我的问题,我配置完成后,Master上面新建的帐户user1,user2,user3都可以在Master上面id到信息,即
[root@master log]# id user1
uid=1001(user1) gid=1001(user1) groups=1001(user1)

但是在Slave向Master同步用户的数据库文件后,可以使用如下命令在Slave上面查看到
[root@slave var]# ypcat -h localhost passwd.byname
user31$6Jk4toDH$pzUbaXqkG1KaaLmr9r8ef/:1003:1003::/home/user3:/bin/bash
user11$i51nyPc8$FsEJAt8Eye40k1uZOehE00:1001:1001::/home/user1:/bin/bash
user21$wPP3KMxv$NkGIbPpiUCQrMyonWiNup1:1002:1002::/home/user2:/bin/bash

但是在Slave上面却id不到三个用户的信息,例如:
[root@slave var]# id user1
id: user1: No such user

下面贴出我的Master和Slave的安装及配置,请各位大侠查看,到底是哪里出了问题:
_____________________________________________________________________
NIS Master的配置:
1.        设定NIS Server的域名称
[root@master ~]# vi /etc/sysconfig/network
在最下面增加这两行:
NISDOMAIN=ibm

2.        主要配置文件
[root@master Server]# vi /etc/ypserv.conf
在最后一行加入:
127.0.0.0/255.255.255.0       : *       : *                : none
192.168.18.0/255.255.255.0    : *       : *                : none
*                          : *       : *                : deny

3.        设定主机名称与IP的对应
[root@master Server]# vi /etc/hosts
增加三行:
192.168.18.21   master
192.168.18.22   slave
192.168.18.23   client

4.        启动相关的服务
[root@master Server]# vi /etc/sysconfig/yppasswdd
YPPASSWDD_ARGS="--port  1012"    找到这个设定值,修改内容成这样

[root@master Server]# /etc/init.d/ypserv start
Setting NIS domain name ibm:                               [  OK  ]
Starting YP server services:                               [  OK  ]
[root@master Server]# /etc/init.d/yppasswdd start
Starting YP passwd service:                                [  OK  ]

[root@master Server]# chkconfig ypserv on
[root@master Server]# chkconfig yppasswdd on

注意,主要的 NIS 服務是 ypserv ,不過,如果要提供 NIS 用戶端的密碼修改功能的話, 最好還是得要啟動 yppasswdd 這個服務才好。在啟動完畢後,我們可以利用 rpcinfo 來檢查看看:

[root@master Server]# rpcinfo -p localhost
   program vers proto   port
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp    875  status
    100024    1   tcp    878  status
    100004    2   udp    684  ypserv
    100004    1   udp    684  ypserv
    100004    2   tcp    687  ypserv
    100004    1   tcp    687  ypserv
    100009    1   udp    691  yppasswdd

[root@master Server]# rpcinfo -u localhost  ypserv
program 100004 version 1 ready and waiting
program 100004 version 2 ready and waiting

5.        新建帐号并建立数据库
[root@master Server]# useradd -u 1001 user1
[root@master Server]# useradd -u 1002 user2
[root@master Server]# useradd -u 1003 user3

[root@master Server]# echo user1 | passwd --stdin user1
[root@master Server]# echo user2 | passwd --stdin user2
[root@master Server]# echo user3 | passwd --stdin user3

在将建立的帐号转成数据库文件之前,我们先做几个操作:
[root@master Server]# vi /var/yp/Makefile
将NOPUSH=true改成NOPUSH=false
这样设置之后可以将数据库推给其它的slave服务器,但是必须要告诉Master要推出去的数据库是哪台服务器,因此还需要修改/var/yp/ypservers文件

修改/var/yp/ypservers文件有两种方式,我这里使用是在建立数据库文件的时候添加服务器:

接下来,将建立的帐号转成数据库文件,转换的动作直接通过
[root@master Server]# /usr/lib64/yp/ypinit -m

At this point, we have to construct a list of the hosts which will run NIS
servers.  master is in the list of NIS server hosts.  Please continue to add
the names for the other hosts, one per line.  When you are done with the
list, type a <control D>.
        next host to add:  master
        next host to add:  slave     填入slave服务器的名称
        next host to add:              Ctrl + D
The current list of NIS servers looks like this:

master
slave

Is this correct?  [y/n: y]  y
We need a few minutes to build the databases...
Building /var/yp/ibm/ypservers...
Running /var/yp/Makefile...
gmake[1]: Entering directory `/var/yp/ibm'
Updating passwd.byname...
Updating passwd.byuid...
Updating group.byname...
Updating group.bygid...
Updating hosts.byname...
Updating hosts.byaddr...
Updating rpc.byname...
Updating rpc.bynumber...
Updating services.byname...
Updating services.byservicename...
Updating netid.byname...
Updating protocols.bynumber...
Updating protocols.byname...
Updating mail.aliases...
gmake[1]: Leaving directory `/var/yp/ibm'

master has been set up as a NIS master server.

Now you can run ypinit -s master on all slave server.

当把这步执行完成后,会生成/var/yp/ypservers文件,而文件的内容就是:
master
slave

但被添加的服务器必须能在/etc/hosts内找到IP的对应关系

[root@master Server]# /etc/init.d/ypxfrd start
Starting YP map server:                                    [  OK  ]
        
#可以让 slave 服务器主动链接上 ypxfrd 来更新数据库, 可以免除系统管理原自己手动更新

接下来在slave里面来配置:
[root@slave Server]# vi /etc/sysconfig/network
增加一行:
NISDOMAIN=ibm

[root@slave Server]# vi /etc/ypserv.conf
在最下面加入这三行:
127.0.0.0/255.255.255.0      : *       : *                : none
192.168.18.0/255.255.255.0   : *       : *                : none
*                          : *       : *               : deny

[root@slave Server]# vi /etc/hosts
增加三行:
192.168.18.21   master
192.168.18.22   slave
192.168.18.23   client

[root@slave Server]# /etc/init.d/ypserv start
Setting NIS domain name ibm:                               [  OK  ]
Starting YP server services:                                  [  OK  ]

[root@slave Server]# /usr/lib64/yp/ypinit -s master
We will need a few minutes to copy the data from master.
Transferring protocols.byname...
Trying ypxfrd ... success

Transferring rpc.byname...
Trying ypxfrd ... success

Transferring services.byservicename...
Trying ypxfrd ... success

Transferring protocols.bynumber...
Trying ypxfrd ... success

Transferring passwd.byname...
Trying ypxfrd ... success

Transferring mail.aliases...
Trying ypxfrd ... success

Transferring group.byname...
Trying ypxfrd ... success

Transferring hosts.byname...
Trying ypxfrd ... success

Transferring netid.byname...
Trying ypxfrd ... success

Transferring services.byname...
Trying ypxfrd ... success

Transferring passwd.byuid...
Trying ypxfrd ... success

Transferring hosts.byaddr...
Trying ypxfrd ... success

Transferring group.bygid...
Trying ypxfrd ... success

Transferring ypservers...
Trying ypxfrd ... success

Transferring rpc.bynumber...
Trying ypxfrd ... success


slave's NIS data base has been set up.
If there were warnings, please figure out what went wrong, and fix it.

At this point, make sure that /etc/passwd and /etc/group have
been edited so that when the NIS is activated, the data bases you
have just created will be used, instead of the /etc ASCII files.

在slave上面通过命令可以看到三个用户的信息
[root@slave Server]# ypcat -h localhost passwd.byname
user31$6Jk4toDH$pzUbaXqkG1KaaLmr9r8ef/:1003:1003::/home/user3:/bin/bash
user11$i51nyPc8$FsEJAt8Eye40k1uZOehE00:1001:1001::/home/user1:/bin/bash
user21$wPP3KMxv$NkGIbPpiUCQrMyonWiNup1:1002:1002::/home/user2:/bin/bash

但是直接id却看不到,这是什么原因?
[root@slave Server]# id user3
id: user3: No such user

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP