前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >局域网内的NIS服务器器搭建管理

局域网内的NIS服务器器搭建管理

作者头像
BGBiao
发布2018-02-26 13:12:17
2.9K0
发布2018-02-26 13:12:17
举报
文章被收录于专栏:容器云生态容器云生态

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主机就可以管理客户机账号,多方便的啊,不过要注意,尽量不要再客户端有相同的账号什么的账户信息!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 架构
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档