文档章节

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

Andy-xu
 Andy-xu
发布于 2014/07/26 23:05
字数 1643
阅读 711
收藏 33
点赞 0
评论 0

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



© 著作权归作者所有

共有 人打赏支持
Andy-xu
粉丝 109
博文 95
码字总数 179246
作品 0
大兴
运维
gitlab项目数据同步

功能要求: 在公网上搭建一个gitlab服务器,所有项目代码的更新、提交都在这个服务器的项目中进行,实现对代码的版本控制。同时,在本地的局域网内再搭建一个gitlab服务器,把项目中每天的代...

aaron428
2016/05/18
0
0
局域网内部署外网访问应用实战

实况背景 前段时间给一家地产评估公司做了一个小型的工单管理系统,局方老板买了一台PC机打算当做服务器,服务器放在局域网里面。要求外网可以通过域名访问得到这台服务器。项目开发语言为p...

bxc
2012/03/12
0
0
web工程 在局域网 内读取所有设备上的文件。

需求是 有一个局域网,我想获取该局域网内 所有机器上的 某一个csv文件。并且对该文件所在文件夹进行处理。会在该局域网内接入一个服务器。在服务器搭建一个web项目 搜集所有的csv文件数据 ...

忧郁麦芽
2016/06/28
175
1
解决redmine局域网内访问速度过慢的问题

之前一直用的一个在线项目管理,叫Unfuddle,很好用,也很喜欢,但就可惜不是免费的。 喜欢用ticket系统来管理项目,但是trac这个纯ticket系统的安装实在是太让人抓狂了,决定先缓缓,有空再...

Yisen
2011/03/12
0
3
iptables实现网络防火墙(二)——SNAT与DNAT

前言 在前面的文章中,我们曾经简单的介绍过Linux内核中防火墙的基本概念,以及四表五链的相关知识,可参看 LINUX 防火墙介绍。 并且也介绍了如何在Linux环境中搭建一个能够过滤协议和端口的...

Eumenides_s
2017/10/23
0
0
如何为公网上的RabbitMQ/ZeroMQ/nanomsg集群节省流量?

我的期望是这样的: 现在有多个异地的局域网,各局域网内都有若干服务器,所有服务器上的程序之间都需要相互通信。我想通过构建消息队列集群的方式来实现次目的。由于局域网内服务器上的程序...

天台道人
2015/03/07
2.4K
1
用树莓派构建你自己的微型服务器

第一,你得有一个路由器,否则下面的内容都无法实现了。 第二,你得申请一个免费的动态域名解析,由于我用的是TP-LINK的路由器,只支持花生壳,所以我申请了花生壳的动态域名解析。 申请花生...

小虫子de
2013/05/09
0
2
局域网内搭建 本地yum 源

目的: 局域网内配置yum 源服务器,方便局域网内服务器安装软件 测试环境: IP :10.139.13.34 apache 服务器 用来做局域网内的yum 源服务器 IP: 10.139.13.34 内网服务器 部署步骤: 搭建apa...

水滴石川1
2017/09/21
0
0
win10 IIS(互联网信息服务) 及 外网访问tomcat

IIS 1.控制面板--程序--启用或关闭windows功能--Internet Information services(全部勾选)--确定 2.控制面板--系统和安全--管理工具--Internet Information Services (IIS)管理器 在浏览器中...

Linux_yk
2017/09/11
8
0
哪个邮件服务器可以提供API查询接口?

有一个需求,就是搭建一个自己的邮件服务器,然后通过API查询邮件信息和内容,在自己局域网内。请问一下有哪个或者哪些邮件服务器提供了这个API查询的功能,自己已经搭建好了一个,但是没有A...

码家EDU
05/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

高效编写Dockerfile的几条准则

概述 Dockerfile 是专门用来进行自动化构建镜像的编排文件(就像Jenkins 2.0时代的Jenkinsfile是对Jenkins的Job和Stage的编排一样),我们可以通过 docker build 命令来自动化地从 Dockerfi...

小致dad
42分钟前
0
0
SpringBoot | 第十章:Swagger2的集成和使用

前言 前一章节介绍了mybatisPlus的集成和简单使用,本章节开始接着上一章节的用户表,进行Swagger2的集成。现在都奉行前后端分离开发和微服务大行其道,分微服务及前后端分离后,前后端开发的...

oKong
今天
9
0
Python 最小二乘法 拟合 二次曲线

Python 二次拟合 随机生成数据,并且加上噪声干扰 构造需要拟合的函数形式,使用最小二乘法进行拟合 输出拟合后的参数 将拟合后的函数与原始数据绘图后进行对比 import numpy as npimport...

阿豪boy
今天
7
0
云拿 无人便利店

附近(上海市-航南路)开了家无人便利店.特意进去体验了一下.下面把自己看到的跟大家分享下. 经得现场工作人员同意后拍了几张照片.从外面看是这样.店门口的指导里强调:不要一次扫码多个人进入....

周翔
昨天
1
0
Java设计模式学习之工厂模式

在Java(或者叫做面向对象语言)的世界中,工厂模式被广泛应用于项目中,也许你并没有听说过,不过也许你已经在使用了。 简单来说,工厂模式的出现源于增加程序序的可扩展性,降低耦合度。之...

路小磊
昨天
196
1
npm profile 新功能介绍

转载地址 npm profile 新功能介绍 npm新版本新推来一个功能,npm profile,这个可以更改自己简介信息的命令,以后可以不用去登录网站来修改自己的简介了 具体的这个功能的支持大概是在6这个版...

durban
昨天
1
0
Serial2Ethernet Bi-redirection

Serial Tool Serial Tool is a utility for developing serial communications, custom protocols or device testing. You can set up bytes to send accordingly to your protocol and save......

zungyiu
昨天
1
0
python里求解物理学上的双弹簧质能系统

物理的模型如下: 在这个系统里有两个物体,它们的质量分别是m1和m2,被两个弹簧连接在一起,伸缩系统为k1和k2,左端固定。假定没有外力时,两个弹簧的长度为L1和L2。 由于两物体有重力,那么...

wangxuwei
昨天
0
0
apolloxlua 介绍

##项目介绍 apolloxlua 目前支持javascript到lua的翻译。可以在openresty和luajit里使用。这个工具分为两种模式, 一种是web模式,可以通过网页使用。另外一种是tool模式, 通常作为大规模翻...

钟元OSS
昨天
2
0
Mybatis入门

简介: 定义:Mybatis是一个支持普通SQL查询、存储过程和高级映射的持久层框架。 途径:MyBatis通过XML文件或者注解的形式配置映射,实现数据库查询。 特性:动态SQL语句。 文件结构:Mybat...

霍淇滨
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部