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了。