首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | linux相关 | linux认证 | 下载中心 | 专题
oklinux
 系统管理:中文环境 系统管理 桌面应用 内核技术 Linux基础:安装配置 常用命令 经验技巧 软件应用 Linux数据库:Mysql POSTGRE
 网络管理:网络安全 网络应用 Linux服务器 编程开发:PHP CC++ Python Perl SHELL 嵌入式开发 | PHP基础 PHP技巧 PHP应用 PHP文摘
 首页 linux资讯动态 Linux专题 | 其他Unix Linux解决方案 硬件相关 Linux认证 企业应用 Apache | 相关下载:软路由 参考手册 开发工具
 → 当前位置:首页>linux相关>其他unix>正文

让 UNIX 和 Linux 一起工作

OKLinux www.oklinux.cn 2006-07-19 来源:oklinux收集整理 收藏本文

2006 年 5 月 25 日

了解如何使用网络信息服务(Network Information Service,NIS)来在 Linux® 和 UNIX® 间共享核心数据库,以及如何使用网络文件系统(Network File System,NFS)来通过直接链接或自动加载器共享文件系统。尽管 UNIX 和 Linux 相似,但二者之间仍然存在一些差异,可能会导致集成这两个系统的过程复杂化。例如,这两类系统均采用相同的身份验证系统,但大部分系统都是彼此独立的。通过共享此身份验证信息,可以为网络中的任何服务器提供单点登录(single sign-on,SSO)功能。

通过 NIS 共享数据

    网络信息访问 (NIS) 是由 Sun Microsystems 开发的,也称为黄页 (Yellow Pages) 服务。该系统的机制非常简单——将标准系统数据库(如 /etc/hosts 和 /etc/passwd)转换为通用数据库格式(使用 DBM 格式,DBM 是一个早已失去其含义的缩写)。

    这些数据库保存在 NIS 服务器上(也称为 NIS 主服务器)。所有数据库均放置在一个指定的域中,然后从使用远程过程调用(Remote Procedure Call,RPC)接口的主服务器共享。支持一系列不同的文件,包括:

  • passwd(如果支持,还包括 /etc/shadow 文件)
  • groups
  • hosts
  • netmask
  • netgroup
  • automount
  • services
  • protocols
  • ethers
  • aliases(对于邮件)

    从服务器(例如希望提供 NIS 主服务器数据库备份的计算机)将从服务器复制已发布的数据库。NIS 客户端在需要查找信息时(例如用登录时)将查询 NIS 服务器。NIS 客户端永远不会存储信息,因为客户端绑定到 NIS 服务器(通过 ypbind 工具)。所得到的结构如下面的图 1 中所示。



图 1. NIS 主服务器或从服务器结构
NIS 主服务器或从服务器结构

   只要进行了更改,对 NIS 数据库的更改将传播到从服务器,或通过使用 yppush 命令以手动方式传播。

    由用户驱动的对 NIS 数据库的直接更改(例如,当用户更改其密码时)将直接发送到 NIS 主服务器,从而更新数据库,并将更改传播给任何从服务器。



选择 NIS 或 NIS+

    NIS 和 NIS+ 间的主要区别在于,后者支持 NIS 主计算机和从计算机间的身份验证和数据交换加密。不过,由于安全方面的要求,NIS+ 的设置和正常运行较为困难,更为复杂。NIS+ 还对命名系统进行了扩展,因此数据库将放入树形结构中(而不是单个域中),以便允许更为复杂、范围更广的分布。

    NIS 通常适合在任何标准环境中使用,而且在配置正确的网络中,如果此网络附加到 Internet,并不会带来任何安全威胁。在私有网络更为开放的环境中(如在通过公共网络交换 NIS 数据的大学或多站点安装中),应该仅使用 NIS+。



设置 NIS 服务器

    Solaris、AIX® 和 HP-UX 安装在缺省情况下都包含对 NIS 系统的支持。Linux® 分发通常都包含 NIS 作为标准配置,glibc 库提供了对 NIS 的支持。不过,您可能需要安装配置和管理 NIS 安装所需的工具包。对于 Linux 下的 NIS 服务器,需要以下程序包:

  • ypserver
  • makedbm

    安装了这些程序包后,需要对所提供的 makefile 进行编辑,该文件通常位于 /var/yp/Makefile 中。该文件中包含将用于构建初始 YP 数据库的配置参数。您需要编辑 all 的定义,以包含希望通过 NIS 支持的文件类型。在缺省情况下,该规则包括所有文件,如清单 1 中所示。



清单 1. all 的定义
all: passwd group hosts ipnodes ethers networks rpc services protocols \
     netgroup bootparams aliases publickey netid netmasks c2secure \
     timezone auto.master auto.home ageing \
     auth.attr exec.attr prof.attr user.attr audit.user
      

可以将任何不需要的文件类型删除;例如,可能会只想共享 passwd、group 和 hosts 文件。

现在已经准备好,可以对数据库进行填充了。首先,设置 NIS 域名:

$ domainname mcslp.nis
      

    在 Linux 服务器上,编辑 /var/yp/securenets 和 /etc/ypserv.conf 文件,以与本地网络的情况匹配。这些文件控制哪些计算机可以共享和访问 NIS 域中的信息。

现在对数据库进行初始化:

$ ypinit -m
      

ypinit 命令将为您完成使用 makefile 将源文件(例如,/etc/passwd)转换为 NIS 格式的剩余任务。

如果在任何时间更改了源文件的内容,请转到 /var/yp 目录并再次运行 make 来重新构建数据库:

$ cd /var/yp
$ make
      

    如果希望允许各个用户以远程方式更新登录密码,请确保 rpc.yppasswdd 后台程序在运行;它可直接接受客户端要求更新 NIS 数据库的请求,以便更改通过主服务器和从服务器传播,并由任何客户端正确拾取。



设置 NIS 客户端

    要设置 NIS 客户端,需要定义 NIS 域名,启动本地 NIS 访问,然后初始化这些服务,以从 NIS 主服务器或从服务器查找其信息。该过程的关键在于 ypbind,该工具可将客户端计算机附加到 NIS 服务器。

在 UNIX 下,将在调用 ypbind 时自动确定 NIS 服务器。在大多数 Linux 版本下,必须在 /etc/yp.conf 文件中设置有效 NIS 服务器列表,例如:

ypserver 192.168.0.22
      

将客户端连接到 NIS 服务器的基本过程如下:

  1. 设置 NIS 域: $ domainname mcslp.nis.
  2. 启动 portmap——RPC 映射器后台程序(如果尚未运行): $/sbin/portmap.
  3. 创建 /var/yp 目录,该目录将用于保存一些 NIS 信息。
  4. 启动 ypbind: $ /usr/sbin/ypbind.

    现在通过使用 ypcat 直接查询数据库,以确定 NIS 连接为活动状态。例如,为了获得按名称排序的 NIS passwd 文件的转储,您将使用以下命令:

$ ypcat passwd.byname
      

    这将转储整个 passwd 数据库。在系统实际使用 NIS 数据库信息前,必须对系统用于查找信息的数据源进行重新配置。



nsswitch.conf

   Linux 和 UNIX 上的 nsswitch.conf 文件通常用于确定系统在何处查找有关不同数据的信息。例如,可以将 nsswitch.conf 文件配置为在文件中查找主机信息、查询 DNS 或使用 NIS 系统查找该信息。

    该文件不仅对用于查找信息的源进行配置,而且也用于配置不同源的查询顺序。选择正确的顺序可以影响是否能查询正确的数据源以及在出现故障时网络的恢复能力。

    该文件的格式如下:首先是简单的系统数据库列表,后跟按照所需顺序排列的数据源列表,每行一个服务。例如,清单 2 显示了为 NIS、DNS 和本地文件解析设置的简单 nsswitch.conf 文件的前几行数据。



清单 2. 简单 nsswitch.conf 文件的前几行数据
passwd:      nis files
shadow:      nis files
group:       nis files
hosts:       nis dns files
networks:    nis dns files
      

    在清单 2 中,可以看到 passwd 的定义为首先使用 NIS 数据库(如果可用)。当用户登录时,将首先构造 NIS 表。如果服务返回用户无法找到的错误,则系统将查询列表中的第二项——在本例中为本地文件。

 

[1] [2] 下一页  

共5页: 上一页 1 [2] [3] [4] [5] 下一页
上一篇:Google推出Linux版Picasa   下一篇:基于Unix系统Web服务器安全指南
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭

相关文章
·基于Unix系统Web服务器安全指南
·Google推出Linux版Picasa
·UNIX/Linux编程相关工具和资源
·StartCom Enterprise Linux
·嵌入式Linux: uClinux操作系统移植
·中文化较强的一款Linux
·手机中的Linux操作系统扫盲
·嵌入式开发:手机中Linux操作系统扫盲
·非常有用之Unix/Linux 单行脚本
·深度探索 OpenBSD操作系统
发表评论
密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。)
站内搜索
阅读排行榜
·Linux基础认识 理解GNU/Li
·UNIX 派生系统:NetBSD 入
·Gentoo 2005.1 完整的USE
·用串口线安装solaris
·AIX下邮件服务器Donimo的
·Solaris的启动和初始化过
·手机中的Linux操作系统扫
·Solaris 10实现安全Kerber
·基于UNIX平台FTP服务器的
·Freshrpms.net资源介绍以
最新文章
·unix下拷贝文件
·在UNIX系统中使用自定义功
·UNIX痛恨者手册
·SCO UNIX作业调度
·FreeBSD Shell脚本
·FreeBSD Shell的高级功能
·从系统管理员的角度讨论UN
·在UNIX系统中配置网络打印
·茅塞顿开:给FREEBSD新手的
·创建UNIX后门(高级篇)
·提高开放式 UNIX 平台的安
·UNIX平台廉价双机容错方案
·攻防:UNIX下缓冲区溢出深
·创建UNIX后门(中级篇)
·创建UNIX后门(初级篇)

设为首页 - 加入收藏 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyright © 2007 All rights reserved OKLinux.Cn 版权所有
合作联系 QQ:18743986 Email:arlan8005#163.com