问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

NIS的信息服务

发布网友 发布时间:2022-04-23 09:23

我来回答

1个回答

热心网友 时间:2023-10-11 06:15

(Network Information Service)
NIS是Sun Microsystem于1985年发布的一项目录服务技术(Diretory Service),用来集中控制几个系统管理数据库的网络用品。NIS简化了UNIX和LINUX桌面客户的管理工作,客户端利用它可以使用中心服务器的管理文件。桌面系统的用户无需建立他们自己的/etc/passwd,他们只简单的使用维护在NIS服务器的文件即可。 提到NIS不得不先说明一下WINDOWS2000的域控制器,在局域网内有一台WIN2000域控制器,下面有一些机器加入到这个域中,在下的机器登录时,有一个选项是选择登入到本机还是登入到域内,登入本地的密码有本机控制,但是如果登入域内,密码由域控制器负责管理。
LINUX也是操作系统,跟WIN2000没有本质的区别,所以仔细读上段话,就能理解NIS是原理是什么样了,这时出现了一个重要的文件/etc/nsswitch.conf 事实上, NIS 的运作流程一点也不困难。一个不是很庞大的网络中,大约会有一部NIS Server ,并且同时有很多部的 NIS Client 。 NIS Server 与 NIS Client 的架构,整体架构有点像底下的图示:

如图示。NIS 提供的 /etc/passwd,/etc/group 以及 /etc/hosts 等 ASCII 格式档案的信息, NIS Server 会将前述几个ASCII 档案内容复制成为 DBM 数据库格式的档案,当用户藉由个人计算机联机到 NISClient主机尝试登入时, NIS Client 将会到 NIS Server 去查寻该用户的账号与密码,以做为用户登入验证的依据。
NIS Server 将自己系统内的 /etc/passwd, /etc/group,/etc/hosts 等制作成为 DBM 的数据库格式档案;
NIS Client 若有用户登入的要求时,会前往 NIS Server搜寻数据库里面数据做为验证用。
每次更动 NIS Server 上面的用户数据时,则 NIS Server需要重新制作 DBM 数据库档案!
需要设定的有:NIS Server 端;
NIS Client 端。 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 而已。 NIS是一个客户机/服务器系统,ypbind是定义NIS服务器的客户端进程。一旦确定了服务器位置,客户机绑定到了服务器上,所以客户端的住处查询都发往服务器。ypserv是回答客户端查询的服务器进程。
基本上, NIS 建议直接使用原版光盘上面给我们的 RPM 来安装即可。
yp-tools :提供 NIS 相关的查寻指令功能
ypbind :提供 NISClient 端的设定套件
ypserv :提供 NISServer 端的设定套件
portmap :就是 RPM 一定需要的数据啊! NIS Server 主要以 ypserv 这个套件提供的数据来进行设定,主要内容有:
/etc/ypserv.conf :就是主要的设定档了
/usr/sbin/ypserv :主要的服务(daemon)执行档
/usr/sbin/rpc.yppasswdd:RPC的服务啰!
/usr/sbin/rpc.ypxfrd :同样的, RPC 的服务啰!
/usr/lib/yp/ypinit :建立 NIS 数据库的执行程序
所以,事实上我们最重要的就是设定 ypserv.conf 这个档案而已啦!至于 RPC的设定,就直接启动他即可!另外,还有 yp-tools 会提供的相关数据喔:
/usr/bin/yppasswd :更改你在NIS database (NIS Server 所制作的数据库) 的密码
/usr/bin/ypchsh :同上,但是是更改shell
/usr/bin/ypchfn :同上,但是是更改一些使用者的讯息! 进程ypbind这客记机的NIS域定位服务器,NIS域包括所有NIS服务器和客户机。它与DNS不同,尽管有些管理员将NIS域名等同于DNS的域名。NIS域名只对那NIS服务器和客户机起作用。
有两种方式配置NIS域名:
nisdomainname 定义显示NIS域名
yp.conf文件配置NIS域名。
#nisdomainname gogo
#nisdomainname
gogo
默认地,ypbind使用nisdomainname命令返回NIS域名,向NIS服务器发出请求时在网络内广播该地址。
yp.conf文件
/etc/yp.conf定义了yp.conf配置。如果找不到yp.conf文件,ypconf进程使用nisdomainname 命令返回的NIS域名,广播定位NIS服务器。ypbind将绑定到第一个相应请求的服务器上。
ypserver hostname
domain nisdomain broadcast | server hostname
========
hostname,nisdomain字符为变量。
使用ypserver配置选项为客户机指定服务器。yp.conf文件包括ypserver选项时,客户机使用命令nisdomainname返回的NIS域名,向ypserver命令的hostname字段指定的服务器发出请求。/etc/hosts文件中必须包含该主机的IP地址,还记得我说过什么了吗,DNS是取代的HOSTS的,在DNS中设定也是可以的。ypserver选项强制客户机连接到特定的服务器上。
在yp.conf文件中使用domain选项定义了NIS域名,指出客户机是广播定位还是直接向服务器发送请求。
example:
#/etc/yp.conf
#
domain first server jh
=========
first作为域名,jh是这个域的服务器 jh在hosts中必须有相对应的IP地址
或者jh IN A 192.168.1.1还记得这条指令是干什么的吗?
------------------------
创建NIS服务器
安装ypserv
rpm -ivh ypserv*
-----------
NIS服务器提供的数据库,称为NIS映射表.
创建独立服务器
如果用户只有一个NIS域服务器,建立独立服务器,如果用户NIS域中有多个服务器,就需要选择其中一个作为该域的主服务器。其他作为从服务器。
用户可以使用make命令初始化独立服务器,建立NIS映射表,文件/var/yp/Makefile包含了创建数据库的命令。
example:
#nsidomainname first
#cd /var/yp
#make
gamke[1]:Entering directory '/var/yp/terns'
Updateing passd.byname......
Updateing passwd.byuid...... 使用ypinit命令初始化主服务器,常见NIS映射表。默认地.ypinit同make命令给出的操作一样。要创建相对于从服务器的主服务器,用户需要编辑/var/yp/Makefile文件。在Makefile文件中找到NOPUSH设置为NOPUSH=false.
修改后,运行ypinit -m
exmpale:
#nisdomwiname first
#cd /var/yp
#/usr/lib/yp/ypinit m
...........
next host to add:1111.first .my home.c om
next host to add:2222.first .my home. c om
..............
............
..............
is this correct? [y/n]y
..........
.........
updateing passwd.byname.........
.............
..........
...........
从服务器配置比主服务器简单。主服务器保存了所有的映射表。从服务器只需知道哪个是主服务器即可。ypinit -s 配置从服务器。
example:
#/usr/lib/yp/ypinit -s salve
salve的IP地址也必须保存在hosts中。
----------
安全性
用户可以在/var/yp/securenets文件中定义服务器的安全性能。
example:
255.255.255.0 192.168.1.0
授权192.168.1.0子网的用户可以访问服务器。
-----------------
ypserv.conf文件
用户必须使用securenets文件,未必用ypserv.conf定义安全性。
语法如下:
host:map:security:[mangle[]]
字段如下
host 授权或禁止访问的计算机,它由地址/掩码对确定.例如 192.168.1.0/255.255.255.0 . *表示所有主机
map 该字段表示访问的NIS映射表项名称。例如:passwd.byuid。*表示映射表 中所有的字段都可用。
security 授权访问类型
none 允许访问,不加强安全性。
port 允许特权端口访问。只接收源端口小于1024的连接。
deny 禁止访问。
des 访问时需要数字加密标准(DES)认证。
[mangle[]] 指定应该在发出响应之前用“X”覆盖掉的字段(不明白)
example:
# Host : MAP : Security : mangle
192.168.1.0/255.255.255.0 : * :none :no
* :* :deny :no
启动服务器
/etc/init.d/ypserv restart
启动NIS客户端
/etc/init.d/ypbind restart
测试NIS
NIS客户端应该绑定到服务器。ypwhich命令可以检测客户端是否正确的连接到服务器。
如果客户机正确的绑定到服务器,用ypcat检测服务器提供的信息。
NIS与DNS是*事,大家一定要搞清楚。虽然都有可能涉及到域名。但确实是*事,他们之间会有一些连系。但绝不可以混在一起。切记,切记。
====================================
nsswitch.conf文件
nsswitch.conf文件不仅能处理主机表和DNS之间的优先次序,还能处理其它的问题。它为几个不同的系统管理数据库定义来源(多看几篇这句话,“几个不同的系统管理数据库”,可以是DNS,NIS,大家想一想)
由nsswitch.conf控制的数据库
alias EMAIL别名
ehters 用于RARP的以太网地址。
hosts 主机名和IP地址
password 用户帐号信息。
还有许多,没有列出来。
使用不带NIS的nsswitch.conf example:
password: files
shadow: files
...........
hosts: dns files
#这句很重要,dns在先,files在后,这里的files指的是/etc/hosts文件,如果有客户端查询的时候,先找dns,再找files。顺序很重要。
aliases: files
.........
.........
.........
使用带NIS的nsswitch.conf example:
hosts: files nis dns
protocols: nis files
.........
........
........
控制选择过程
nsswitch.conf文件提供了几个可用于查询测试的状态关键字:
success(成功) 查询返回所期望的结果。该状态的缺省的动作是返回结果给提交查询的应用程序(想一下,在我的DNS第二讲,说到解析器,就可以是提交查询的应用程序,不过他是DNS查询是了),然后退出查询过程。
nofound(没有找到) 虽然查询工作正常,但所期望值没有找到。缺省的动作是查询下一行的源。
unavail(不可用) 提交查询的源不可用。例,名称服务器没有运行。
tryagain(重度) 源暂时不可用。缺省的动作是继续向下一个源提交查询。
有两个关键字可以识别缺省的动作:return和continue。return告诉解析器返回值给应用程序并结束查询。continue告诉解析器继续向下一个源提交查询。
状态和动作关键字可以结合起来,加到nsswitch.conf文件的源单中,以控制查询过程何时移到下一个源。
状态检查的语法是:
[ ( ! ? status=action ) + ]
问号(?)代表任何状态值;叹号(!)对状态值取反。!SUCCESS是不成功的意思。方括号[]用于包括整个条件语句。圆括号()是可选的,只用来包含每个测试条件,可以有多个条件,每个条件用圆括号包含,之间用加号连接。
例如:
[ ( NOFOUND=RETURN ) + ( TRYAGAIN+TRETURN) ]
其实就是C语言中的“与”“或”“非”的关系。
下面是nsswitch.conf中的主机一行:
hosts: dns [ !UNAVAIL=return ] files
说明了UNAVAIL之外的所有状态,解析器应该将返回值给应用程序,然后退出。
只有当DNS名称服务器没有运行的时候,解析器才能向主机表查询。如果有条件语句改变,缺省的动作卞会起作用,UNAVAI的缺省动作是continue。
nsswich.conf文件已经取代了hosts.conf,因为它可以提供更多的资源控制方式。LINUX系统中通常这两个文件都有,但实际上起作用的是nsswitch.conf文件。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
imba里能抽到什么好装备 DOTA IMBA神器抽奖抽到几率和大野爆的几率。还有小鸡无限眼的BUG能不能... 《魔兽世界》怀旧服玩具获取方法 求最好的手机杀毒软件 手机杀毒软件哪个好用 2023年最旺女孩名字有草有水296个 我的世界红石电梯怎么制作 怎么用微信申请微信号? 有些网页不能复制,可我想要复制下来,该怎么弄啊? 电脑网址怎么保存电脑怎么收藏网址 怎么办,还是最想去土耳其? 之前在哔咔上看过一个异世界本子,现在找不到了? 本田汽车发动机VETC是什么意思! 哔咔下载的本子无法载图 我车子要转藉,我还想用原来的etc卡怎么办 公众有什么作用 眼睛激光要多久才能恢复 眼睛激光手术多久能恢复 眼睛激光手术后要多久才能恢复视力?拜托了各位 谢谢 2019年,做眼睛近视激光手术,恢复要多久? 眼睛有做激光后要休息多久? 激光治疗近视要多久才可以恢复正常的生活? 青海激光近视手术的术后恢复时间是多久? 近视眼激光手术需要恢复多久?... 近视眼激光手术后多久能恢复哦 做眼睛激光大概需要多久恢复? 眼睛激光手术恢复多久? 谁知道眼睛做完激光之后 要多长时间才恢复啊急急求解啊、谢谢了 green的动词形式是什么? green的汉语意思 眼睛做激光手术多久才能完全恢复 linux开机的时候怎么老是启动start sendmail 本子不能显示隐藏的文件夹 而且CDEF盘都不能双击打开 外国人转中国国藉难吗?如,泰国人转成中国国藉,要有什么条件。泰国人来中国工作、学习,要有什么条件。 诸暨藉青年在杭州工作怎么样办理高速免费卡? 事业单位面试自我介绍 事业单位面试时如何做自我介绍? 两个男人怎么选择? 事业单位面试中如何做自我介绍比较好? 事业单位面试自我介绍范文(一) 来一些事业单位面试的自我介绍范文吧 事业单位招聘面试时自我介绍怎么说 我要去事业单位面试了,怎么自我介绍啊,3,5分钟的谢谢 如果三峡大坝决堤中国哪些地方有影响 事业单位面试如何自我介绍?报了贵州遵义的事业单位。 如果世界第一的三峡大坝倒塌了,后果会怎么样? 在事业单位面试时,自我介绍要怎么说,要怎么样让考官印象深刻 三峡大坝决堤会影响安徽合肥吗 事业单位面试自我介绍怎么说? 本人找下面这7道歌的地址,就是那个地址可以直接放到QQ空间背景里免费使用的.谢谢! 急急急!求20道数学六年级上学期的培优题