局域网内的NIS服务器器搭建管理
博客专区 > Andy-xu 的博客 > 博客详情
局域网内的NIS服务器器搭建管理
Andy-xu 发表于3年前
局域网内的NIS服务器器搭建管理
  • 发表于 3年前
  • 阅读 708
  • 收藏 33
  • 点赞 0
  • 评论 0
摘要: NIS是Sun Microsystem于1985年发布的一项目录服务技术(Diretory Service),用来集中控制几个系统管理数据库的网络用品。NIS简化了UNIX和LINUX桌面客户的管理工作,客户端利用它可以使用中心服务器的管理文件。桌面系统的用户无需建立他们自己的/etc/passwd,他们只简单的使用维护在NIS服务器的文件即可。

NIS(网络信息服务),用来集中账号信息管理。类似LDAP一样的功能哦,一般可以作为LAN内的用户认证服务器吧!

NIS服务器提供的数据:

/etc/passwd           提供用户账号UID GID 用户主目录位置 shell等

/etc/group               提供GID以及组成员

/etc/hosts                本地的解析

/etc/services              服务端口

/etc/protocols              基础的协议数据包

/etc/rpc                         每种RPC服务器所对应的程序号码

/var/yp/ypservers          NIS所提供的数据库


架构

NIS Server 在整个网域之中,一般比较小型的网域常见的方法。万一,如果网域里面有几乎100 部以上的主机,这个时候,只有一部NIS Server 可能无法提供快速的数据查寻与响应的状态!这时需要 NIS Sever的 master 与 slave 的架构。

slave藉由将来自 master主机的 数据加以更新到自己的数据库当中,并且提供与master 相同的查寻功能!这个 NIS 的 master 与 slave 架构则完全相同。NIS Server 的 master 先将自己的账号、密码相关档案制作成为数据库档案(databasefile);NIS Server 的 master 将自己的数据库档案传送到 slave上面;NIS Server 的 slave 接收来自『信任的 NIS Server master主机』的数据后,更新自己的数据库,使自己的数据库与 master 主机的数据同步;网域当中的所有 NIS Client 查寻 NIS Server 时,会找寻『最先回应的那一部NIS 主机的数据库内容』。

所以,我们可以知道的是,NIS 的 master 与 slave 架构主要在分散查寻 NIS时候的主机负荷,因此,除非您的网域真的很大,否则是没有必要架设 NIS Slave与 master 的架构的啦!底下我们没有架设 master 与 slave 。只有一部主要的master 而已。

NIF使用数据库文件系统来记录数据。在大的局域网中可以使用Master/Slave架构哦!

                          

基于上面的流程,client在查询账号时,会首先在本地进行账号查询进而在slave和master上查询所需要的用户登录数据。因此在实际应用中,应该将本地的普通用户主动拿掉。


2. NFS server端的设置                                   

软件所需:yp-tools;ypind;ypserv;rpcbind

2.1设置NIS服务的域名

#vim /etc/sysconfig/network

NISDOMAIN=xxbandy                                    设置NIS域
YPSERV_ARGS="-p 1011"                                定义固定端口

2.2 主要配置文件

 #vim /etc/ypserv.conf

dns: no                                            不使用dns(用/etc/hosts)
files: 30                                            默认会有30个数据库呗读入内存
xfr_check_port: yes

[主机名或网段]     [NIS域名]   [可用数据库名称]  [安全限制]

{安全限制,none表示无,port表示仅能使用小于1024端口;deny表示拒绝}


*                          : *       : shadow.byname    : port
*                          : *       : passwd.adjunct.byname : port

2.3设置主机名与IP的对应

#vim /etc/hosts

192.168.0.143   www.xxbandy.com                            定义NIS服务器的主机

192.168.0.25     client.xxbandy.com

注意:主机名和NIS的主机名最好一致


2.4启动与查勘相关的服务

#vim  /etc/sysconfig/yppasswdd

YPPASSWDD_ARGS="--port 1012"                                定义端口

#/etc/init.d/ypserv restart                                   (注意服务的开机自动启动啊#chkconfig ypserv/yppasswdd on

#/etc/init.d/yppasswdd restart 

#rpcinfo -p localhost                                               查看当前端口和服务(必要时设置防火墙)


2.5创建用户并且建立数据库

#useradd -u 1001 user1

#useradd -u 1001 user2

#echo westos | passwd --stdin user1(2)

#/var/lib64/yp/ypinit -m                                                将生成的用户密码转换成数据库文件

At this point, we have to construct a list of the hosts which will run NIS
servers.  instractor 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:  instractor
        next host to add:  control+d继续
The current list of NIS servers looks like this:

instractor                              自动检测的NIS服务

Is this correct?  [y/n: y]  y
We need a few minutes to build the databases...
Building /var/yp/xxbandy/ypservers...

  gethostbyname(): Success

Running /var/yp/Makefile...
gmake[1]: Entering directory `/var/yp/xxbandy'

instractor has been set up as a NIS master server.
Now you can run ypinit -s instractor on all slave server

至此,你就可以使用NIS服务器了!

如果鉴于安全机制,可以使用防火墙自己设置哦!


客户端可以使用setup进行设置NIS服务!

如果没有卡主,直接运行成功了。

在server端

#tail -f /var/log/messages                 可以查看下客户端的链接情况


查看下载客户端都做了什么动作:

[root@desktop ~]# cat /etc/sysconfig/network
NISDOMAIN=xxbandy                                        增加了一个NIS域

[root@desktop ~]# cat /etc/yp.conf

 domain xxbandy server 192.168.0.143                    增加了NIS服务器的信息


[root@desktop ~]# vim /etc/nsswitch.conf 

passwd:     files nis                                                      用户文件都启用了nis
shadow:     files nis
group:      files nis
hosts:      files nis dns


NIS client端的验证功能:

yptest,验证数据库  ypwhich 检查数据库数量   ypcat读取数据库内容

用户参数修改yppasswd 修改密码   


登录测试,发现没有权限和用户主目录:

[root@desktop ~]# su - user2
su: warning: cannot change directory to /home/user2: No such file or directory
-bash-4.1$ ls
ls: cannot open directory .: Permission denied

发现用户登录没有家目录,并且没有权限!!!!

NIS+NFS实例

为了解决这一问题,我们可以使用nfs远程挂载一个用户家目录,即结合NFS和NIS

SERVER端:

[root@instractor ~]# mkdir /nishome

[root@instractor ~]# useradd -u 2001 -d /nishome/user1 user1

[root@instractor ~]# useradd -u 2002 -d /nishome/user2 user2

[root@instractor ~]# echo westos | passwd --stdin user1

[root@instractor ~]# echo westos | passwd --stdin user2

[root@instractor ~]# vim /etc/sysconfig/network

NISDOMAIN=xxbandy                                                

[root@instractor ~]# nisdomainname xxbandy

[root@instractor ~]# /etc/init.d/ypserv restart;/etc/init.d/yppasswdd restart

[root@instractor ~]# /usr/lib64/yp/ypinit -m

注意:上述四个命令有依赖性关系,因此不能打乱


NFS的设置:

 [root@instractor ~]#vim /etc/exports 

/nishome   192.168.0.0/24(rw,no_root_squash)

 [root@instractor ~]#/etc/init.d/nfs restart                                        注意:必须先启动rpcbind

 [root@instractor ~]#showmount -e localhost      发现nfs的共享设备


client端挂载操作:

(前提是NIS认证已经设置了)

[root@desktop home]# mkdir /nishome 

[root@desktop home]# mount 192.168.0.143:/nishome /nishome

[root@desktop home]# su - user1
[user1@desktop ~]$ ls

现在就可以登录用户家目录,并且可以查看!

使用instroctor主机就可以管理客户机账号,多方便的啊,不过要注意,尽量不要再客户端有相同的账号什么的账户信息!



共有 人打赏支持
粉丝 106
博文 90
码字总数 171396
×
Andy-xu
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: