分享
 
 
 

NIS详解

王朝other·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

网络信息服务(NIS)是集中控制几个系统管理数据库的网络用品。NIS简化了UNIX和LINUX桌面客户的管理工作,客户端利用它可以使用中心服务器的管理文件。桌面系统的用户无需建立他们自己的/etc/passwd,他们只简单的使用维护在NIS服务器的文件即可。

提到NIS不得不先说明一下WINDOWS2000的域控制器,在局域网内有一台WIN2000域控制器,下面有一些机器加入到这个域中,在下的机器登录时,有一个选项是选择登入到本机还时登入到域内(应该是这么说的,有点记不清楚了,大概就是这个了),登入本地的密码有本机控制,但是如果登入域内,密码支有域控制器负责管理。

LINUX也是操作系统,跟WIN2000没有本质的区别,所以仔细读上段话,就能理解NIS是原理是什么样了,这时出现了一个重要的文件/etc/nsswitch.conf

NIS是一个客户机/服务器系统,ypbind是定义NIS服务器的客户端进程。一旦确定了服务器位置,客户机绑定到了服务器上,所以客户端的住处查询都发往服务器。ypserv是回答客户端查询的服务器进程。

安装ypbind客户端

rpm -ivh ypbind*

这没有什么好说的。

配置NIS客户端

进程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.myhome.com

next host to add:2222.first.myhome.com

..............

............

..............

is this correct? [y/n:y]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[:field]]

字段如下

host 授权或禁止访问的计算机,它由地址/掩码对确定.例如 192.168.1.0/255.255.255.0 . *表示所有主机

map 该字段表示访问的NIS映射表项名称。例如:passwd.byuid。*表示映射表

中所有的字段都可用。

security 授权访问类型

none 允许访问,不加强安全性。

port 允许特权端口访问。只接收源端口小于1024的连接。

deny

禁止访问。

des 访问时需要数字加密标准(DES)认证。

[mangle[:field]] 指定应该在发出响应之前用“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文件。

hosts.conf文件介绍在我的DNS第三讲中有介绍。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有