转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> MySql >> 正文
Linux网络管理员手册(10) 第十章 网络信息系统 NIS NYS         ★★★★

Linux网络管理员手册(10) 第十章 网络信息系统 NIS NYS

作者:闵涛 文章来源:闵涛的学习笔记 点击数:2290 更新时间:2009/4/22 20:48:14
10.1显示了一个更完整的例子,它引入了nsswitch.conf的另一个特性:hosts条目中的[NOTFOUND=return]关键字通知NYS,如果在NIS或DNS数据库中没有找到所要的项就返回。也即,只有在向NIS和DNS服务器的呼叫由于某些其它原因失败时,NYS才将继续搜寻本地文件。因此,本地文件只在启动引导期间使用并且当NIS服务器关闭时起一个备份的作用。

# /etc/nsswitch.conf
#
hosts: nis dns [NOTFOUND=return] files
networks: nis [NOTFOUND=return] files

services: files nis
protocols: files nis
rpc: files nis

图10.1 nsswitch.conf样本文件。

10.7 使用passwd和group Maps
NIS的一个主要应用是在一个NIS域中的所有主机上同步用户以及帐目信息。关于这方面,你通常只保存了一个小的本地/etc/passwd文件,对于这个文件,从NIS maps获得的站点范围的信息被添加了进去。然而,只是简单地在nsswitch.conf中为这个服务启用NIS查找还不很够。
当引用NIS描述的口令信息时,你必须首先确信在你本地passwd文件中任何用户的数值用户id与NIS服务器的用户id匹配。同样对于其它目的你也会需要这样的,比如从你的网络中其它主机上加载NFS卷时。
如果/etc/passwd或/etc/group中的任何数值id与maps中的相偏离,你必须为属于那个用户的所有文件调整文件的所有权。首先你必须将passwd和group中的uid和gid改成一个新值;然后找出属于刚改变的用户的所有文件,最后改变这些文件的所有权。假设news曾有一个id为9,而okir有一个id为103,它们将被改成其它值;那么你可以发出以下的命令:

# find / -uid 9 –print >/tmp/uid.9
# find / -uid 103 –print >/tmp/uid.103
# cat /tmp/uid.9 | xargs chown news
# cat /tmp/uid.103 | xargs chown okir

必须针对新安装的passwd文件执行这些命令,并且在改变任何文件的所有权之前收集所有文件的名字,这点很重要。为了更新文件的组所有权,你将使用一个类似的命令。
在做完这些工作之后,你系统上的数值uid和gid将与你的NIS域中所有其它主机上的相匹配。下一步将是在nsswitch.conf中增加配置行,它为用户和组信息启用NIS查找:

# /etc/nsswitch.conf – passwd and group treatment
passwd: nis files
group: nis files

这使得在一个用户试图登录时,login命令和所有其它类似命令首先查询NIS maps,如果这个查找失败时,再返回使用本地文件。一般来讲,你将从你的本地文件中删除所有的用户,而只留下root和象mail一样的通用帐目。这是因为某些至关重要的系统任务可能需要将uid映射到用户名上或者反之。例如,管理用的cron作业可能会执行su命令来临时变成news,或者UUCP子系统可能要邮寄一个状态报告。如果news和uucp在本地passwd文件中没有条目了,那么在NIS不能使用期间这些作业将糟糕地失败。
这里有两个大告戒:一方面,上面所描述的设置在这里只适应于没有使用影子(shadow)口令的登录状况,象那些包括在util-linux软件包中的。与NIS一起使用影子口令的复杂问题将在下面论及。另一方面,登录命令并不是仅有的访问passwd文件的命令—请看许多人几乎一直使用的ls命令。每当进行一次长列表时,ls将显示一个文件的用户和组的宿主的符号名;也即,对于它遇到的每个uid和gid,它就要查询NIS服务器一次。如果你的本地网络受到阻塞时将严重地拖延进行的工作,或者更糟糕的是,当NIS服务器不在同一个物理网络上时,数据报还必须通过路由器传输。
事情还没结束。想象以下如果一个用户想要更改她的口令时会发生什么情况。通常,她会执行passwd,它将读入新的口令并更新本地passwd文件。对于NIS来说,这是不可能的,因为这个文件已不再存在于本地了,但是每当用户想要改变他们的口令时就让他们登录进NIS也不是个选择。因此,NIS提供了一个对passwd的混入替换称为yppasswd,它用来在目前的NIS中做类似的工作。为了改变服务器主机上的口令,它通过RPC联系那个主机上的yppasswdd后台程序,并向它提供更新过的口令信息。通常,你通过象这样做在常规程序上安装yppasswd:

# cd /bin
# mv passwd passwd.old
# ln yppasswd passwd

与此同时你必须在服务器上安装rpc.yppasswdd并从rc.inet2中启动它。这将对你的用户有效地隐藏NIS所带来的任何扭曲。

10.8 使用支持影子(shadow)的NIS
至今还没有对使用影子登录程序组的站点的NIS支持。John F. Haugh,影子程序组的作者,最近往comp.sources.misc发布了一个受GNU库的GPL保护的影子库函数的一个版本。它对NIS已经有了一些支持,但还不完整,并且这些函数还没有加入到标准C库中。另一方面来讲,通过NIS之类公布来自于/etc/shadow中的信息是与shadow组件的目的相违背的。
尽管NYS口令查找函数不使用shadow.byname map或任何这类map,NYS还是支持透明地使用一个本地/etc/shadow文件的。当getpwnam的NYS实现被调用来查找与给定的登录名相关的信息时,nsswitch.conf中的passwd条目所指定的设施被检索。nis服务将简单地在NIS服务器的passwd.byname map中查找这个名字。而files服务将检查/etc/shadow是否存在,并且如果存在的话,就试着打开它。如果不存在的话,或者如果用户没有root特权的话,它就返回到只在/etc/passwd中查找用户信息的传统的处理方法中。然而,如果shadow文件存在,并且能被打开的话,NYS将从shadow中抽取用户的口令。getpwuid 函数也是这样实现的。在这种方式下,用NYS编译的执行文件将透明地处理本地影子组件的安装。

10.9 使用传统的NIS代码
如果你使用目前在标准C库中的客户代码的话,那么配置一个NIS客户就稍微有些不同。一方面,它使用一个ypbind后台程序(daemon)来广播查询运行着的服务器而不是从一个配置文件中取得(服务器)信息的。因此,你必须确信在启动期间开始运行ypbind。它必须在NIS域已被设置好并且RPC portmapper已启动后才被调用。此时,上面所示的调用ypcat进行对服务器测试才能工作。
最近,有许多有关NIS出错报告(bug reports),出错信息说“clntudp_create: RPC: portmapper failure – RPC: unable to receive”。这是由于对ypbind与库函数有关绑定信息的通信(沟通)方式的不兼容的改动。取得最新有关NIS工具的最新源程序并重新编译之可以解决这个问题。[5]
同样,传统的NIS确定是否要和如何将NIS信息与本地文件中的信息合并的方法与NYS中所使用的方法是有偏差的。例如,为了使用NIS口令maps,你必须在/etc/passwd map中包含下列行:

+:*:O:O:::

这标记出口令查找函数“插入”NIS maps的地方。往/etc/group中插入类似的一行(去掉最后两个冒号)会对group.* maps做出同样的事。为了使用NIS分发的hosts.* maps,只要改动host.conf文件中的order一行。例如,如果你要使用NIS、DNS以及/etc/hosts文件(以这个顺序),你必须将这行改成

order yp bind hosts

目前,传统的NIS实现不支持任何其它的maps。






注释
[1] 可以用swen@uni-paderborn.de与他联系。NIS客户程序以yp-linux.tar.gz的形式在matlab.unc.edu上的system/Network中有。
[2] 当前的版本(在写作本书时)是yps-0.21并且可以从ftp.lysator.liu.se的/pub/NYS目录中取得。
[3] 可以用pen@lysator.liu.se与他联系。
[4] DBM是一个简单的数据库管理库,它使用杂凑技术(hashing technigues)来加速查询操作。GNU计划有它的一个免费实现,称为gdbm,它已包括在大多数Linux发行版中。
[5] 可以从ftp.uni-paderborn.de的/pub/Linux/LOCAL目录中取得yp-linux源程序。

来源:Linux自由鸽

上一页  [1] [2] 


[常用软件]美景梦工厂-Nature Illusion Studio  [教师认证]教师考试:普通心理学听课笔记第十章
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台