`
kavy
  • 浏览: 890933 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

NIS详解

 
阅读更多
http://www.chinaunix.net 作者:yj11  发表于:2008-04-24 09:54:12
发表评论】 【查看原文】 【Linux讨论区】【关闭


网络信息服务(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  
..........  
.........  
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文件。  
   hosts.conf文件介绍在我的DNS第三讲中有介绍。  
    

http://bbs.chinaunix.net/thread-2276370-1-1.html

分享到:
评论

相关推荐

    Linux下NIS服务器搭建

    ### Linux下NIS服务器搭建详解 #### 一、NIS简介 NIS (Network Information Service) 是由Sun Microsystems开发的一种集中式目录服务协议,用于在分布式网络环境中提供名称解析和其他目录服务。NIS的主要功能包括...

    RHEL上NIS网络信息服务配置实例讲解

    ### RHEL上NIS网络信息服务配置详解 #### 一、NIS概述 NIS(Network Information Service),即网络信息服务,最初由Sun Microsystems开发,旨在提供一种集中管理的方式,特别是针对UNIX系统的用户账户和其他配置...

    NIS服务NIS服务NIS服务NIS服务NIS服务

    NIS 服务详解 NIS(Network Information Service)是 Sun Microsystem 于 1985 年发布的一项提供目录服务的 RPC(远程过程调用)应用服务,可以称为 Sun Yellow Pages(yp)。NIS 服务负责在网域当中查寻帐号与密码...

    NIS配置文档

    #### Linux下NIS配置详解 ##### 一、NIS简介 Network Information Service (NIS) 是一种在Unix系统及其类系统(如Linux)中用于集中管理和分发目录服务(如用户账号信息)的技术。通过NIS,可以在网络中的一台或多...

    AIX网络服务配置详解:DNS、NIS、DHCP等关键服务配置与优化

    内容概要:本文档详细介绍了AIX操作系统中常见的网络服务配置方法,涵盖DNS、NIS、DHCP、SSH、FTP、HTTP等服务。每个服务的配置包括具体的配置步骤、示例和常见错误的诊断与解决方法。此外,还提供了几个实用的实战...

    redhat 3s(NIS,NFS,AUTOFS)联动

    ### Redhat 中 NIS, NFS, AUTOFS 联动配置详解 在企业级网络环境中,集中管理和自动化处理用户登录、文件共享以及自动挂载需求是至关重要的。Redhat Linux 提供了 NIS (Network Information Service), NFS (Network...

    Linux 5.4 RHCE NIS学习笔记

    ### Linux 5.4 RHCE NIS学习笔记详解 #### 一、基础知识介绍 NIS (Network Information Service),网络信息服务,是一种在Unix及其类UNIX操作系统(如Linux)中用于集中管理和分发网络信息的服务。它使得在一个...

    python模块详解

    python模块详解 各个模块的详解 核心模块 1.1. 介绍 1.2. _ _builtin_ _ 模块 1.3. exceptions 模块 1.4. os 模块 1.5. os.path 模块 1.6. stat 模块 1.7. string 模块 1.8. re 模块 1.9. math 模块 1.10....

    JNDI配置原理详解.doc

    ### JNDI配置原理详解 #### 一、引言 JNDI(Java Naming and Directory Interface)是Java平台的一部分,它允许开发人员访问命名服务,从而可以存储和检索应用程序组件名称和服务之间的映射关系。本文将详细介绍...

    NIS5232-D 12V 电子熔丝,eFuse-综合文档

    《NIS5232-D 12V 电子熔丝,eFuse详解》 NIS5232-D是一款高效、可复位的12V电子熔丝,也被称为eFuse,它在保护硬盘或其他电路免受灾难性故障和意外关闭方面发挥着重要作用。这款设备的设计旨在防止过高的输入电压对...

    solaris技术指南005.PDF

    #### 四、NIS+名字空间详解 - **名字空间的概念:**NIS+的名字空间是一种用于组织和存储信息的分层结构,这种结构与DNS或UNIX文件系统类似,便于管理和提高安全性。 - **域的概念:**NIS+中的域是用来组织和管理...

    linux usermod命令参数及用法详解.docx

    Linux Usermod 命令参数及用法详解 Linux 中的 Usermod 命令是用于修改用户帐号的命令,它提供了多种参数来修改用户帐号的各项设定。本文将详细介绍 Usermod 命令的参数及用法。 命令格式 Usermod 命令的基本格式...

    Red Hat 服务详解

    ### Red Hat 服务详解 #### NetworkManager - **功能描述**:NetworkManager 是一个自动管理网络连接的服务。它可以实现无缝的网络切换,适用于同时具备多种网络连接方式(如无线WiFi和有线Ethernet)的计算机。当...

    yp2ldap:NIS 到 LDAP 的转换工具-开源

    **yp2ldap 知识点详解** `yp2ldap` 是一个非常实用的工具,它主要功能是将传统的 NIS(Network Information Service)系统转换到更现代、更安全的 LDAP(Lightweight Directory Access Protocol)服务。这个转换...

    Unix命令大全详解

    ### Unix命令大全详解 #### 一、登录工作站 在Unix系统中,远程登录是非常常见的操作方式之一,通过这种方式用户可以从一台计算机(例如个人电脑)连接到另一台远程计算机(工作站)。这种方式极大地提高了工作...

    solaris技术指南006.PDF

    ### Solaris技术指南006:NIS+客户端配置详解 #### 一、概述 本文档旨在指导用户如何将SunOS 5.x系统配置为NIS+(Network Information Service Plus)客户端。NIS+是一种分布式目录服务,用于跨网络同步和分发文件...

    LDAP认证——配置UNIX和Linux客户端使用活动目录.pdf

    在【配置UNIX和Linux客户端使用活动目录】的场景下,LDAP被用来替代传统的网络信息服务(NIS),以提供更高级别的安全性。NIS虽然在集成UNIX和Linux客户端到Windows环境时相对简单,但因其安全性的不足,比如对密码...

    name directory service

    ### 名称目录服务(Name Directory Service):Solaris下的DNS、NIS与LDAP详解 #### 概述 名称目录服务(Name Directory Service)是Solaris操作系统中的一个关键组成部分,主要用于支持分布式环境下的名称解析和...

    linux所有配置文件详解.doc

    `order`关键字定义了解析顺序,如示例所示,先尝试DNS(bind),然后是本地主机文件(hosts),最后是NIS(Network Information Service)。`multi`开启允许在/etc/hosts文件中为同一主机名分配多个IP地址。`nospoof...

Global site tag (gtag.js) - Google Analytics