在Linux上有两种集中式的身份验证,一种是NIS(network information sysstem),另一种是LADP(轻量级目录访问协议)。我们可以实现用户的身份密码不在本机,但可以登录系统。
Nss(name service switch) 名称服务转换,即引进一种模块化方式来,来转换用户名或dns服务。PAM可插入式认证模块,可以灵活的帮你换一种模式来做认证。
/etc/nsswitch.conf文件中
                        Hosts:      filces   dns
    定义了查hosts名称服务,实现先去查找查找/etc/hosts/files,再去用dns.localfiles,NIS,LDAP protocol vinbind (基于windows的一种身份认证)前几种都是数据库。这只是名称解析服务,但若登录时验证用户的账号密码是否匹配,是否可用等。那么我们实现身份验证时就用到了nss,Kerberos,LDAP,SmartCard,SMB,winbind.等。这些机制就是用户身份认证的机制。第二种是网络服务认证机制。
       Nis用来标示你处于那个域,当验证身份时处于那个域就要到那个域上进行身份验证。Nis域和dns虽然都是域,都可以实现名称解析,但两者并不相干。
Nis通信是明文的,所以并非十分安全。
下面我们演示如何作为nis域的服务端来实现客户的身份认证的:
1 定义好nis域。
2 服务端客户端都需要相应软件
3 保证rpc服务正常 RPC:远程过程控制
将客户端配置成nis域中的某个客户端。
 
1 加入nis
  Nisdomainname  +   name (for example: notexample 随意取)
 
 若永久生效可以编辑/etc/sysconfig/network 末行添加即可
 验证map服务是否运行正常:service portmap status
 服务端装ypserv 客户端装 ypbind
可以通过rpcinfo –p + 对方ip的方式查看对方服务器是否运行正常。通过 rm –qa |’^yp” 查看是否装上了相应的包。当一切就绪后,我们还需要告诉客户端服务器是谁。此时我们需要编辑:/etc/yp.conf
添加 domain notexample server + 服务器ip
可以使用yptest 名令来做测试。如:yptest –d notexample
启动ypbind服务:chconfig ypbind on 可使服务永久生效。
连上服务器并不代表你可以做认证了。还需要编辑nsswitch.conf文件
passwd,shawd,group,files 后加上nis
并在hosts 后的 files dns之间加上nis