龙空技术网

为什么一个用了30多年的技术还优雅的活着

it老炮儿 14246

前言:

现在同学们对“ubuntu1604openldap”大体比较注重,咱们都需要剖析一些“ubuntu1604openldap”的相关资讯。那么小编同时在网摘上收集了一些对于“ubuntu1604openldap””的相关内容,希望小伙伴们能喜欢,姐妹们一起来了解一下吧!

看到标题很多人肯定要说什么技术能活这么久,在当今高速发展的社会,什么技术活了30多年还不被淘汰,那就是NIS.

NIS

很多做linux运维的对NIS这个技术并不感觉陌生,但你们知道吗?虽然它今年已经32岁了,可仍然存在在于全球网络中。

NIS(network informition service),翻译一下叫网络信息服务,也很多人也对它很陌生,所以介绍它之前从需求聊聊。

从需求谈起

账户管理、身份验证这种需求说起,这种需求的产生并不需要过多的解释;小企业无所谓权限、安全管理,因为人少好控,一般并不需要这种账号管理的架构;但企业如果有上百位以上员工时,账号安全、权限等等需求就会显得很突出,这时需要一种技术或一种工具去管理验证账户,根据你不同的系统环境,NIS或AD活动目录管理工具就应运而生。

我们都知道,windows都用active directory,又叫活动目录,它以域的方式管理企业内部网络登陆,负责架构中大型网络环境的集中式目录管理服务,一般大中型企业内部都会部署此环境;做为新员工,你第一天入职必须要记住的就是你的域账号和域密码。因为大部分公司用户的都是windows环境,所以活动目录在用户管理领域广为认知。

NIS,不熟?

NIS这门技术,很多人却不知道,原因无它,因为它主要用于管理linux客户端的用户,这种应用环境比较少,所以应用环境并不多;

对于那些不熟悉NIS的人,我来做一点点介绍。

20世纪70年代,当时计算机昂贵,网络由少量节点组成时,管理网络信息是可管理的,不需要集中式系统。随着计算机变得越来越便宜,网络越来越大,在单个系统上维护单独的网络配置副本变得越来越困难。

NIS

NIS历史

NIS由Sun(如今的sun已被oracle收购了)于1985年开发,它比windows的AD要早很多年,对于windows AD来讲,NIS已经是大叔级的了,而Windows AD不过是个17岁的小姑娘,在账号管理的领域NIS已相当成熟。

浅谈NIS技术原理

NIS本来是用来辅助Unix网络系统的中央身份验证和授权机制。当然它还可以处理其他任务,例如集中管理网络共享文件、主机名和其他网络配置数据。基本上,任何可以被压缩成文本文件的内容都可以通过NIS共享,比如账号、密码、文件系统都可以用NIS来管理。--这是摘录,简单说就是nis架构的环境下,同一个nis域账号可以登录不同的linux客户端。环境类似下面

NIS 提供的 /etc/passwd,/etc/group 以及 /etc/hosts 等 ASCII 格式档案的信息, NIS Server 会将前述几个ASCII 档案内容复制成为 DBM 数据库格式的档案,当用户由个人计算机联机到 NISClient主机尝试登入时, NIS Client 将会到 NIS Server 去查该用户的账号与密码,以做为用户登入验证的依据。

config

为什么都说NIS不安全

说它不安全性,举个例子,一般情况下你在NIS服务器上看账号信息是如下的,存在/etc/passwd & /etc/shadow

passwd

这意味着当有人通过NIS账号登录到Unix系统时,会根据passwd映射关系检查其凭据,这也存在了安全性,因为大多数情况下具有加密的密码字符串容易可见。nis客户端可以通过ypcat命令可以查看NIS服务器上使用者帐号及密码信息,也可以查看NIS服务器上的/etc/hosts文件记录哪些主机信息,想想看这有多么的不安全,用户也可以轻松查看这些映射信息。更好的做法是强制使用复杂密码。

虽然NIS有明显的安全问题,然而,但在Unix环境暂时没有更好的认证工具或账号管理工具可以和它抗衡,最好的现代方法是使用带有Kerberos的LDAP。比如Openladp

而且,当你的linux服务器环境要共享NFs存储去构建你的登录环境,你可能就必须使用Nis了。

对于账号管理和身份验证还有别的解决方案吗?

有!

其中一个选择是使用Microsoft的Active Directory进行身份验证。这只适用于混合基础设施,有几种方法可以实现。第一个是用Microsoft自己的NIS服务器,微软自从2003版本后加了附加角色,integretion unix management自带Nis Server的角色,开启了它以后您的NIS服务器管理主机就是是Windows-AD域控服务器了,这使得许多Unix / Linux管理员感到不爽。

另一种方法是通过Active Directory的LDAP身份验证,但这也可能是一个比较复杂的方式,取决于Unix环境的大小,总之不仅复杂有时环境问题也比较复杂。

NIS有新版本码?

Nis后有了新工具叫Nis+,为啥呀,因为大家都知道它的不安全性,sun要改良,所以产生了nis+,

它旨在消除在多台计算机上复制多个配置数据(如用户帐户,主机名和地址,打印机信息和单个系统上的NFS磁盘安装),而不是在主服务器上使用中央存储库,从而简化系统管理。你可以选择使用NIS +,但使用过的人都会告诉你,这是一个相当不错的主意,但它表现的并不好,他把本来很简单的NiS结构变复杂了。即使NIS +比较新,你会发现NIS 用的更多,即使创造Nis的Sun / Oracle把NIS +在11.1版本中正式从Solaris中删除了,妈都不认孩子了,NIS+儿子就没有存在的必要了,所以只剩NIS这一个儿子了。

优雅的常青树--NIS

选择任何解决方案,最重要的是选择稳定性,NIS是一个小而干净的服务,它可以很容易地与Unix的任何环境联系起来。像现在的unbuntu现在1604的版本、redhat 7都支持nis,vmwere的esxi 6.5也支持NIS.可以说支持所有linux/unix系统。

最好的应用场景是具有许多工作站和计算/编译服务器的Unix / Linux开发环境,NIS是最好的 解决方案- 安全风险最小,安装简单,功能实用。

所以NIS优雅的活了这么久虽然不够安全,但它支持传统和现代的操作系统,它很古老但也很简单,而且因为太简单而且有用,所以短期内还没有能替代它的产品,想死也没那么容易,在未来很长一段时间还会继续笑看IT,笑看架构。

对于unix/linux账号管理,除了我(NIS),你还能选择谁?

除了我(NIS),你还能选择谁?请点击此处输入图片描述

有兴趣请继续关注it老炮儿,对了,老炮儿最近新注册了一个号,专门写历史的。后续请关注。

标签: #ubuntu1604openldap