NIS(Network Information Service),互联网信息服务,SUN公司1985开发的一种目录服务技术,之前叫作YP(Yellow Page,黄页服务,相似与提供完整联系方式的手册)简而言之就是一种网络信息集中验证方式,功能相似于microsoft的Active Directory,在服务器上存储网络中全部登陆帐户信息,客户端自己并不作帐户信息存放,登陆时须要转向NIS服务器上进行验证,若是离线,则没法登陆。数据库
1992年SUN推出了NIS的安全验证增强版NIS+,在验证方式上更加严格,使用kerberos,hesiod,PAM等验证。ubuntu
目前使用比较普遍的是LDAP(light directory access protocol),NIS用的比较少。安全
我本身试用的是NIS(在ubuntu-10.10上使用apt都显示没法找到nis的deb包,好像nis已经被放弃了-_-!)bash
环境:2台Ubuntu-10.10-desktop-i386-x86系统计算机,1个服务器,1个客户端服务器
服务器ip:192.168.2.2(hdp0)网络
客户端ip:192.168.2.3(hdp1)dom
一、(服务器和客户端)都须要安装portmap和nis。安装nis时须要填写nis域名,能够随便写一个,但必须统一。我本身写的nistestide
二、(服务器和客户端)修改hosts文件测试
- vi /etc/hosts
- 192.168.2.2 hdp0
- 192.168.2.3 hdp1
三、(服务器)配置/etc/yp.conf , /etc/default/nis spa
- vi /etc/yp.conf
- domain nistest server hdp0 //nistest就是安装时填写的域名,hdp0是服务器的hostname
- ypserver 192.168.2.2
- vi /etc/default/nis
- NISSERVER=master
四、(服务器)使用ypinit初始化
- /usr/lib/yp/ypinit -m //ypinit命令没有出如今PATH中
会显示nis域的信息,并会询问是否添加其余nis服务器,有就添,没有就ctrl+D退出。这时会在/var/yp下生成一些信息和数据库文件,都包含服务器自己全部的用户信息(从passwd,group,shadow中提取)。之后使用时,在服务器上生成域内全部容许在客户端登陆的用户信息,并用如下命令重建数据库:
- make -C /var/yp
五、(服务器)从新启动portmap和nis这两个daemon
- /etc/init.d/portmap restart
- /etc/init.d/nis restart
六、(客户端)配置/etc/yp.conf , /etc/nsswitch.conf , /etc/passwd , /etc/group , /etc/shadow
- vi /etc/yp.conf
- ypserver 192.168.2.2
- vi /etc/nsswitch.conf
- passwd nis
- group nis
- shadow nis
- echo +:::::: >> /etc/passwd
- echo +::: >> /etc/group
- echo +:::::::: >> /etc/shadow
七、(客户端)重启nis和portmap。
八、(客户端)对NIS的配置状况进行检查。使用getent,ypwhich,yptest,ypcat passwd 等这些命令
九、测试NIS。在服务器上使用useradd -m -s /bin/bash testnis建立用户testnis,使用make -C /var/yp重建用户数据库,重启nis进程。
在客户端上,用 su testnis 命令就能够登陆了!
PS:在使用yptest时,结果中yp_match可能会出现warning,意思是nobody用户,这时能够修改/var/yp/Makefile中的NFSNOBODYUID=0、NFSNOBODYGID=0,重建而后重启,就没有warning了。