作為一個運維從業人員,有時候我們需要對自己負責的web伺服器批量修改密碼,如果一台一台改,會相對來說較為麻煩,是以在這裡我們可以使用NIS賬戶統一認證。
我們假設有一部賬号主要伺服器來管理網域中所有主機的賬号, 當其他的主機有使用者登入的需求時,才到這部主要伺服器上面要求相關的賬号、密碼等使用者資訊,如此一來,如果想要增加、修改、删除使用者資料,隻要到這部主要伺服器上面處理即可, 這樣就能夠降低重複設定使用者賬号的步驟了!
NIS=Network Information Service 網絡資訊服務
Network Information Service 最早應該稱為 SunYellow Pages (簡稱yp),
配置NIS伺服器實作集中化認證
NIS是C/S模式,服務端程式軟體名,ypserv;用戶端程式軟體名字,ypbind,用戶端工具是yp-tools(yppasswd)
實驗環境:
XueGod63(Server)========XueGod64(Client)
服務端和用戶端軟體安裝
服務端:
[root@XueGod63 ~]# yum install ypserv //NIS服務主程式包
用戶端:
[root@XueGod64 ~]# yum install ypbind-y //NIS用戶端,ypbind程序包
[root@XueGod64 ~]# yum install -y yp-tools rpcbind
//NIS用戶端工具,如yppasswd指令
服務端相關配置檔案:
/etc/ypserv.conf //NIS伺服器主配置檔案,可以控制NIS用戶端是否可以通路NIS伺服器 (簡單的說,配置了ACL)
/etc/hosts //IP-主機對應記錄,如果沒有DNS系統,則hosts需要存放每一台NIS用戶端主機記錄
NIS Server配置可登陸使用者
[root@XueGod63 ~]# mkdir /home/NISHOME //可以不建立,直接home下生成
[root@XueGod63 ~]# useradd -d /home/NISHOME/nisuser1 nisuser1
[root@XueGod63 ~]# useradd -d /home/NISHOME/nisuser2 -s /sbin/nologinnisuser2
//測試使用者,這個使用者用來測試是否可以使用此賬号登陸其他系統
[root@XueGod63 ~]# echo nisuser1:123456 | chpasswd
[root@XueGod63 ~]# echo nisuser2:123456 | chpasswd
NIS域名配置
[root@XueGod63 ~]#nisdomainname //NIS域名檢視指令(net-tools提供)
[root@XueGod63 ~]# vim/etc/sysconfig/network //修改配置檔案,是永久生效
NETWORKING=yes
HOSTNAME=XueGod63
GATEWAY=192.168.1.254
NTPSERVERARGS=iburst
NISDOMAIN=XueGod.cn #NIS域名,不是NISDOMAINNAME,重新開機生效
[root@XueGod63 ~]# nisdomainnameXueGod.cn //也可以使用這個指令,臨時有效,類似hostname指令
[root@XueGod63 ~]# nisdomainname
XueGod.cn
服務端Hosts檔案配置
[root@XueGod63 ~]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.63 XueGod63 #添加所有的NIS用戶端,包括自己(NIS Server)
192.168.1.64 XueGod64
ypserv.conf主配置檔案配置
ypserv.conf配置檔案主要實作的功能是:允許那些Server可以連接配接NIS Server,這裡允許所有内網用戶端可以
連接配接NIS伺服器,除此之外的用戶端都拒絕連接配接
[root@XueGod63 ~]# vim /etc/ypserv.conf
# 一般來說,你可以依照我們的網域來設定成為底下的模樣,也就是實驗中添加的三行
#Host : Domain :Map : Security
127.0.0.1/255.0.0..0 :* :* : none
192.168.1.0/255.255.255.0 :* :* : none
* : * :* : deny
建立NIS資料庫
[root@XueGod63 ~]# service ypserv start
//要啟動ypserv服務,否則無法建立NIS資料庫
Starting YP server services: [ OK ]..
[root@XueGod63~]#/etc/init.d/rpcbind restart. [ OK ]
[root@XueGod63 ~]# /usr/lib64/yp/ypinit-m //建立資料庫 (此指令需要使用絕對路徑)
[root@XueGod63 ~]# /usr/lib64/yp/ypinit -m
輸入自己的host
啟動NIS服務
[root@XueGod63 ~]#/etc/init.d/ypserv restart
[root@XueGod63 ~]# /etc/init.d/yppasswddrestart //否則添加新的資料将無法生效
[root@XueGod63 ~]# chkconfig ypservon
[root@XueGod63 ~]# chkconfig yppasswdd on
配置用戶端加入NIS域
[root@XueGod64 ~]#yum install -y ypbind yp-tools rpcbind //這兩個工具在前面已經安裝
/etc/init.d/rpcbind start
Starting rpcbind: [ OK ]
[root@XueGod64 ~]#system-config-authentication //此指令需要圖形界面的支援,按下圖填寫
點選Apply之後
Starting NIS service: [ OK ]
Binding NIS service:. [ OK ]
現在可以測試是否用nisuser1登陸