对Linux NIS和NIS+的介绍与比较

406 阅读4分钟

NIS和NIS+的区别和它们的相似之处一样多。这些程序,通常被称为网络信息服务和网络信息服务+,提供简单的网络查询和检查进程和数据库。

NIS的正式名称是Sun Yellow Pages,提供整个网络应该知道的信息。值得注意的是,NIS和NIS+提供以下信息:

  • 登录密码、姓名或主目录(例如:/etc/password)
  • 组信息(例如:/etc/group)
  • IP号码和主机名(例如:/etc/hosts)

本文将解释NIS和NIS+如何工作。文章还强调了这两个框架的主要区别和相似之处。最后,你将了解什么时候应该使用NIS,什么时候应该考虑使用NIS+。

NIS与NIS+的比较

NIS和NIS+共享的不仅仅是它们的名字--它们有一个共同的目标。然而,它们也有一系列的区别。值得注意的是,网络信息服务加强版(NIS+)是原始网络信息服务的增强版。这意味着,它有新的功能和类似概念的不同术语。

下表总结了NIS和NIS+之间的区别。

NIS和NIS+之间的比较表

NISNIS+
它的特点是平面域,没有层次。它的特点是分层域,并将数据存储在不同的名称空间级别。
它允许使用类似的机器名和用户名。机器和用户不能共享一个名字。此外,你不能在任何一个名称中使用点(.)。
所有的名字和命令都是相当区分大小写的。命令和名字是不区分大小写的。
不使用任何认证。使用DES认证。
使用双列表来存储数据。使用多列表来存储数据。
客户端只有一个网络信息源的选择。客户端有一系列的网络信息源可供选择,包括DNS、NIS、NIS+或任何本地/etc.文件。
特点是最大尺寸为1024比特,这个限制适用于所有的NIS地图文件。没有大小限制。
不支持加密和安全的RPC。支持安全和加密的RPC。
它使用RPC版本2。它使用RPC版本3。
往往会延迟批量传播的更新。它即时传播增量更新。

NIS和NIS+域结构

值得注意的是,与大多数原始协议的版本不同,NIS+并没有改进NIS。相反,它是作为它的替代品工作的。NIS旨在解决相对较小的客户-服务器的网络管理要求。因此,它更适合于有几百个客户、受信任的用户和一些多用途服务器的环境。

但对于大型的、现代的、复杂的客户-服务器网络管理,你将需要NIS+。它有更多的自主权。它可以方便地处理有多达10,000个多厂商客户和多达100个位于世界各地的专业服务器的网络。域的层次结构类似于DNS的层次结构。然而,它更加发达,能够存储有关用户、工作站和网络服务的信息。

NIS+具有互操作性的特点,允许你从NIS升级。它还允许继续与最初由NIS提供的DNS互动。如果你打算从NIS转移到NIS+,nispopulate命令允许NIS兼容。

一个NIS的例子文件如下:

一个NIS+文件的例子如下:

NIS如何工作

你的网络中必须有一台机器作为NIS服务器,NIS才能工作。然而,你仍然可以有多个NIS服务器,每个服务器为不同的NIS域服务。

你也可以利用合作服务器,其中一台机器作为主服务器,其余的是NIS从服务器。在这样的安排中,从属服务器只拥有NIS数据库副本,并接收和执行来自主服务器的更改。

在你的系统中拥有一个或多个从属服务器的主要原因是为了保持整个网络的正常运行时间。因此,客户机可以通过任何快速或可靠的从属服务器检查,只要主服务器停机或太慢。

NIS+如何工作

NIS+通过支持认证和数据加密来工作--它通过一个安全和可靠的RPC来实现。因此,这是一个比NIS更好的安全工具。

这里的命名模型利用了一个树形结构,树中的每个节点都直接对应于NIS+对象。值得注意的是,该设计有多达六个树,包括表、链接、目录、组、条目和私有。

根目录构成了NIS+命名空间的基础。两个特殊的目录包括group_dir和org_dir。groups_dir负责访问控制,因为它有NIS+组对象。另一方面,org_dir包含管理表,如hosts、passwd和mail_aliases。

总结

我们对NIS和NIS+的介绍到此为止。现在,在NIS和NIS+之间做出选择并不难。如果你的网络有严重的安全需要,请考虑NIS+。虽然它略微容易管理,但它能明显地保护你的系统。另一方面,NIS通常是一个管理协议。它很容易管理,但缺乏安全措施。