NIS详解
1??簡介
NIS( NetworkInformation Service)提供了一個網絡黃頁的功能,當用戶登錄系統時,Linux系統會到NIS主機上去尋找用戶使用的帳號密碼信息加以比對,以提供用戶登錄檢驗。同時NIS服務器還可以提供其他多種信息。?
2??深入了解NIS
2.1???基本概念
2.1.1? NIS
在一個大型的網域中,如果有多部Linux主機,而且需要每臺主機都設定相同的帳號與密碼時,是十分麻煩的。此時,如果能夠有一臺NIS主控制服務器(master server)來管理該網域中所有主機的帳號密碼,當其他的主機有用戶登錄的需求時,才到這臺服務器上請求相關的帳號密碼等使用者資料,這樣一來,如果想要增加、修改、刪除用戶的資料,只需要到這臺服務器上面處理即可,這樣就能夠大大降低重復設定用戶帳號密碼的步驟,便于管理。NIS(Network Information Services) Server就可以實現這樣的功能。
2.1.2? NIS服務器端組件結構
NIS的組件結構分為配置文件、主要服務以及相關指令。
NIS服務器主要提供信息如下表:
| 服務器端文件名 | 文件內容 |
| /etc/passwd | 提供用戶帳號、 UID、 GID、家目錄所在、登錄shell等信息 |
| /etc/group | 提供群組信息以及GID的對應,還有該群組成員等信息 |
| /etc/hosts | 提供主機名與IP地址的對應關系信息 |
| /etc/services | 提供每一種服務( daemons)所對應的端口( port number)信息 |
| /etc/protocols | 基礎的TCP/IP封包協議,如TCP, UDP, ICMP等 |
| /etc/netgroup | 網絡群組的定義與使用 |
| /etc/rpc | RPC服務器信息 |
2.1.2.1?????NIS配置文件
NIS服務器端的配置文件如下表所示:
| 配置文件名 | 文件內容 |
| /etc/ypserv.conf | 關鍵配置文件,規范NIS客戶端登錄權限等 |
| /etc/hosts | 在其中配置IP地址與主機名對應關系 |
| /etc/netgroup | 設定信任主機組 |
| /var/yp/Makefile | 與建立資料庫有關的配置文件 |
2.1.2.2?????NIS主要服務
NIS服務器端的主要服務如下表所示:
| 主要服務名 | 功能 |
| /usr/sbin/ypserv | NIS服務器提供的主要服務 |
| /usr/sbin/rpc.ypxfrd | 用來作為master/slave主機之間傳輸資料庫的服務 |
| /usr/sbin/rpc.yppasswdd | 通過此服務,NIS客戶端登錄的用戶可以直接修改在NIS服務器上的密碼 |
| /var/yp/Makefile | 與建立資料庫有關的配置文件 |
2.1.2.3?????NIS主要指令
NIS服務器端的主要指令如下表所示:
| 相關指令名 | 功能 |
| /usr/sbin/yppush | master主機將資料庫直接送至slave主機的指令 |
| /usr/lib/yp/ypinit | 建立資料庫的指令 |
| /usr/lib/yp/ypxfr | 傳送資料庫的指令 |
2.1.3? NIS客戶端組件結構
NIS的組件結構分為配置文件、相關指令。
2.1.3.1?????NIS配置文件
NIS客戶端配置文件如下表所示:
| 配置文件名 | 文件內容 |
| /etc/hosts | 主機名與IP地址對應關系 |
| /etc/yp.conf | ypbind的主要配置文件,設定NIS Server |
| /etc/nsswitch.conf | 重要的配置文件,設定帳號密碼等信息 |
| /var/yp/Makefile | 與建立資料庫有關的配置文件的查詢順序 |
2.1.3.2?????NIS主要指令
NIS客戶端的主要指令如下表所示:
| 相關指令名 | 功能 |
| /usr/bin/yppasswd | 更改客戶端登錄用戶在NIS服務器上的密碼 |
| /usr/bin/ypchsh | 更改客戶端登錄用戶默認登錄shell |
| /usr/bin/ypchfn | 更改客戶端登錄用戶的finger信息 |
2.2???NIS流程
2.2.1? NIS?Server(Master/Slave)
NIS Server包括Master和Slave兩類服務器:
Nis?Master?Server:
將文件建成數據庫,并提供給Slave?Server來更新;
Nis?Slave?Server:
以Master?Server的數據庫作為本身的數據庫來源;
流程如下:
1.Nis?Master先將帳號密碼相關文件制作成數據庫文件;
2.Nis?Master可以主動告訴Nis?Slave來更新;
3.Nis?Slave亦可以主動前往Nis?Master取得更新;
4.若有帳號密碼變動時,需要重新制作數據庫文件并重新同步Master/Slave。
2.2.2? NIS?Client
NIS Client向Master/Slave?請求登陸者的驗證數據。
流程如下:
1.NIS?client?若有登入需求時,會先查詢其本機的?/etc/passwd,?/etc/shadow?等檔案;?
2.若在?NIS?Client?本機找不到相關的賬號數據,才開始向整個?NIS?網域的主機廣播查詢;?
3.每個?NIS?server?(不論?master/slave)?都可以響應,基本上是『先響應者優先』。?
2.3???典型組網
2.3.1? 網絡拓撲
網絡拓撲結構如下圖:
?
2.3.2? 系統要求
各個角色應該具備的軟件
2.3.2.1?????NIS Client要求
NIS 客戶端需要安裝的組件如下:
| 軟件名稱 | 功能 |
| yp-tools | 提供NIS相關的查詢指令功能 |
| ypbind | NIS Client端的服務進程(如果) |
2.3.2.2?????NIS Server要去
NIS 服務器端需要安裝的組件如下:(一般情況下,NIS服務器也要起到客戶端的作用,所以客戶端軟件也要安裝)
| 軟件名稱 | 功能 |
| yp-tools | 提供NIS相關的查詢指令功能 |
| ypbind | NIS Client端的服務進程(如果) |
| ypserv | NIS Server端的服務進程 |
| portmap | 提供RPC服務 |
轉載:https://blog.csdn.net/younger_china/article/details/53010366?utm_source=copy
總結
- 上一篇: 实现一个域名对应多个IP地址和DNS优缺
- 下一篇: 了解linux内核必读的5本书