帳號控管: NIS 伺服器

25
第第 第第 第第 第第 第第 第第 第第 14 第第第第NIS 第第第 有有有有有 有有有有有有 Linux 有有 有有有有有有有有有有有有有有 有有有有 有有有有有有有有有有有 ,,, 有有有有有 有有有有有有有有有有有有有有有有有有有有有有有 有有有有有有有 有有有有有有有有有有有有有 有有有 !,一, 有有有有有有有有有有有有有 有有有有有有有有有有有有有有有有有有有有有有有有 有有 有有有有有有有有有有 有有 ,?一? 有有 有有有有有有有有有有有有有有有有 有有有有有有有有有有有有 有有有有有有有有有有有有有有有 有有有有有有 一!,! 有有有有有有 有有有有有有有有有有有有有有 有有有 有有有有有有有 有有有有有有有有有有有有有有 有有有有 有 ,!!!,, 有有有 有有有有有有有有 有有有 一, Network Information Service 有有 NIS 有有有有有有有!!

description

14. 帳號控管: NIS 伺服器. - PowerPoint PPT Presentation

Transcript of 帳號控管: NIS 伺服器

Page 1: 帳號控管:  NIS  伺服器

第三 篇

區域網路內常見的伺服器架設

14帳號控管: NIS 伺服器

有沒有想過,如果我有十部 Linux 主機,這十部主機僅負責不同的功能,事實上,所有的主機帳號與對應的密碼都相同!那麼我是將帳號與密碼分別設定置在十部電腦上面,還是可以透過一部主機做為帳號管理的功能,然後其他的主機只要當用戶用登入時,就必須要到管理帳號的主機上面確認其帳號與密碼呢?哪一個比較方便而且靈活?當然是找一個帳號管理的主機比較方便的多啦!如果有使用者要修改密碼,不必要去到十部主機修改密碼啦!只要到主要管理主機去修改,其他的主機根本就不需要更動!哈哈!輕鬆又愉快呢!這個功能的達成有很多的方式,在這裡,我們介紹一個很簡單的方式,那就是 Network Information Service 這個 NIS 伺服器的架設啦! !

Page 2: 帳號控管:  NIS  伺服器

NIS 主要提供的是使用者的帳號、密碼、家目錄檔名、 UID 等資訊,但 NIS 並沒有提供檔案系統。同時, NIS 同樣使用前一章談到的 RPC 伺服器,因此在本章開始前,你還是得要認識一下第十三章談到的 NFS 與 RPC ,同時你還得要知道基礎學習篇第三版裡面的第十四章帳號管理,同時也得瞭解一下基礎學習篇第二十二章 make/Makefile 的資訊才好。

P.14-2請參閱書籍

NIS 的由來與功能

Page 3: 帳號控管:  NIS  伺服器

NIS 的主要功能:管理帳號資訊事實上, Network Information Service 最早應該是稱為 Sun Yellow Pages ( 簡稱 yp) ,也就是 Sun 這家公司出的一個名為 Yellow Pages 的伺服器軟體,請注意, NIS 與 YP 是一模一樣的咚咚喔!

P.14-3請參閱書籍

Page 4: 帳號控管:  NIS  伺服器

那麼 NIS 伺服器提供了哪些資訊呢?還記得帳號與密碼放置在哪裡吧? NIS 就是提供那些資料啦!主要有底下這些基本的資料提供給有登入需求的主機喔:

P.14-3請參閱書籍

Page 5: 帳號控管:  NIS  伺服器

NIS 的運作流程:透過 RPC 服務 由於 NIS 伺服器主要是提供使用者登入的資訊給用戶端主機來查詢之用,所以, NIS 伺服器所提供的資料當然就需要用到傳輸與讀寫比較快速的 " 資料庫 " 檔案系統,而不是傳統的純文字資料。為了要達到這個目的,所以 NIS 伺服器就必須要將前一小節提到的那些檔案製作成為資料庫檔案,然後使用網路通訊協定讓用戶端主機來查詢囉。至於所使用的通訊協定與前一章的 NFS 相同,都使用遠端程序呼叫 (RPC) 這個玩意兒喔!

P.14-3請參閱書籍

Page 6: 帳號控管:  NIS  伺服器

P.14-4請參閱書籍

Page 7: 帳號控管:  NIS  伺服器

關於 NIS Server (master/slave) 的運作程序:

1. NIS Master 先將本身的帳號密碼相關檔案製作成為資料庫檔案;

2. NIS Master 可以主動的告知 NIS slave server 來更新;

3. NIS slave 亦可主動的前往 NIS master server 取得更新後的資料庫檔案;

4. 若有帳號密碼的異動時,需要重新製作 database 與重新同步化 master/slave 。

P.14-4請參閱書籍

Page 8: 帳號控管:  NIS  伺服器

關於當 NIS Client 有任何登入查詢的需求時:

1. NIS client 若有登入需求時,會先查詢其本機的 /etc/passwd, /etc/shadow 等檔案;

2. 若在 NIS Client 本機找不到相關的帳號資料,才開始向整個 NIS 網域的主機廣播查詢;

3. 每部 NIS server ( 不論 master/slave) 都可以回應,基本上是『先回應者優先』。

P.14-4請參閱書籍

Page 9: 帳號控管:  NIS  伺服器

NIS Server 端的設定

所需要的軟體 yp-tools :提供 NIS 相關的查尋指令功能 ypbind � :提供 NIS Client 端的設定軟體 ypserv � :提供 NIS Server 端的設定軟體 rpcbind � :就是 RPC 一定需要的資料啊!

P.14-5請參閱書籍

Page 10: 帳號控管:  NIS  伺服器

NIS 伺服器相關的設定檔 /etc/ypserv.conf :這是最主要的 ypserv 軟體所提供的設定

檔,可以規範 NIS 用戶端是否可登入的權限。 /etc/hosts :由於 NIS server/client 會用到網路主機名稱與

IP 的對應,因此這個主機名稱對應檔就顯的相當重要!每一部主機名稱與 IP 都需要記錄才行!

/etc/sysconfig/network :可以在這個檔案內指定 NIS 的網域 (nisdomainname) 。

/var/yp/Makefile� :前面不是說帳號資料要轉成資料庫檔嗎?這就是與建立資料庫有關的動作設定檔;

P.14-6請參閱書籍

Page 11: 帳號控管:  NIS  伺服器

至於 NIS 伺服器提供的主要服務方面有底下兩個: /usr/sbin/ypserv :就是 NIS 伺服器的主要提供服務; /usr/sbin/rpc.yppasswdd :提供額外的 NIS 用戶端之使用

者密碼修改服務,透過這個服務, NIS 用戶端可以直接修改在 NIS 伺服器上的密碼。相關的使用程式則是 yppasswd 指令;

與帳號密碼的資料庫有關的指令方面有底下幾個: /usr/lib64/yp/ypinit :建立資料庫的指令,非常常用 ( 在 32 位元的系統下,檔名則是 /usr/lib/yp/ypinit 喔! ) ;

/usr/bin/yppasswd� :與 NIS 用戶端有關,主要在讓用戶修改伺服器上的密碼。

P.14-6請參閱書籍

Page 12: 帳號控管:  NIS  伺服器

一個實作案例 NIS 的網域名稱為 vbirdnis

整個內部的信任網域為 192.168.100.0/24

NIS master server 的 IP 為 192.168.100.254 ,主機名稱為 www.centos.vbird

NIS client 的 IP 為 192.168.100.10 ,主機名稱為 clientlinux.centos.vbir

P.14-7請參閱書籍

Page 13: 帳號控管:  NIS  伺服器

1. 先設定 NIS 的網域名稱 (NIS domain name)

NIS 是會分領域名稱 (domain name) 來分辨不同的帳號密碼資料的,因此你必須要在伺服器與用戶端都指定相同的 NIS 領域名稱才行。設定這個 NIS 領域名稱的動作很簡單,就直接編輯 /etc/sysconfig/network 即可!如下所示:

P.14-7請參閱書籍

Page 14: 帳號控管:  NIS  伺服器

2. 主要設定檔 /etc/ypserv.conf

P.14-7~8請參閱書籍

Page 15: 帳號控管:  NIS  伺服器

3. 設定主機名稱與 IP 的對應 (/etc/hosts)

在 /etc/ypserv.conf 的設定當中我們談到 NIS 大部分是給區域網路內的主機使用的,所以當然就不需要 DNS 的設定了。不過,由於 NIS 使用到很多的主機名稱,但是網路連線透過的是 IP 啊!所以你一定要設定好 /etc/hosts 裡面的主機名稱與 IP 的對應,否則會無法成功連線 NIS !這個很重要,絕大部分的朋友無法達成 NIS server/client 的連線都是這裡出問題而已。 依據本案例的設定值,你應該這樣做:

P.14-8請參閱書籍

Page 16: 帳號控管:  NIS  伺服器

4. 啟動與觀察所有相關的服務

為了也讓 yppasswdd 啟動在固定的埠口,方便防火牆的管理,因此,我們也建議你可以設定一下 /etc/sysconfig/yppasswdd 喔!

P.14-9請參閱書籍

Page 17: 帳號控管:  NIS  伺服器

5. 處理帳號並建立資料庫

P.14-10請參閱書籍

Page 18: 帳號控管:  NIS  伺服器

如果是如下的錯誤,那可能是因為: � 你的 ypserv 服務沒有順利啟動,請利用 rpcinfo 檢查看看;

� 你的主機名稱與 IP 沒有對應好,請檢查 /etc/hosts

P.14-11請參閱書籍

Page 19: 帳號控管:  NIS  伺服器

防火牆設置又來到了防火牆的規劃了!要注意的是,我們的 NIS 與 NFS 都是使用 RPC Server 的,所以囉,除了上述談到的固定埠口之外,你還得要開放 port 111 才行。假設你已經看過前一章,而且是使用鳥哥的 iptables.rule 腳本來處理你的防火牆,那麼你可以修改該檔案的內容,新增幾條規則去:

P.14-12請參閱書籍

Page 20: 帳號控管:  NIS  伺服器

NIS client 所需軟體與軟體結構NIS client 端所需要的軟體僅有:

ypbind � yp-tools�

P.14-12請參閱書籍

Page 21: 帳號控管:  NIS  伺服器

NIS client 的設定與啟動很簡單,就利用 setup 這個指令即可!

P.14-13~14請參閱書籍

Page 22: 帳號控管:  NIS  伺服器

NIS 搭配 NFS 的設定在叢集電腦上的應用 什麼是叢集電腦?

因為個人電腦的 CPU 速度越來越快,核心數目越來越多,因此個人電腦的效能已經不比伺服器等級的大型電腦差了!不過,如果要用來作為計算大型數值模式的應用,即使是最快的個人電腦,還是沒有辦法有效的負荷的。此時你可能就得要考慮一下,是要買超級電腦 (Top 500) 還是要自己組一部 PC 叢集電腦 (PC cluster) 。

超級電腦的結構中,主要是透過內部電路將好多顆 CPU 與記憶體連接在一塊,因為是特殊設計,因此價格非常昂貴。 如果我們可以將較便宜的個人電腦串接在一塊,然後將數值運算的任務分別丟給每一部串接在一塊的個人電腦,那不就很像超級電腦了嗎?沒錯!這就是 PC cluster 最早的想法。

P.14-19請參閱書籍

Page 23: 帳號控管:  NIS  伺服器

所以,在 PC cluster 上面的所有電腦就得要有: � 相同的使用者帳號資訊,包括帳號、密碼、家目錄等等一大堆資訊;

� 相同的檔案系統,例如 /home, /var/spool/mail 以及數值程式放置的位置

� 可以搭配的平行化函式庫,常見的有 MPICH, PVM...

P.14-20請參閱書籍

Page 24: 帳號控管:  NIS  伺服器

另一個不成材的實例

那我們有沒有辦法來實作一下平行化的叢集架構呢?老實說,很麻煩~不過,至少我們可以先完成前面談到的兩個元件!分別是 NIS 與 NFS 嘛!但是,在我們目前這個網路環境中,使用者帳號實在是太紊亂了~所以,如果想要將伺服器的 /home 掛載到用戶端的 /home ,那麼那個測試用的用戶端可能很多本地用戶都無法登入了~因此,在這個測試練習中,我們打算這樣做:

P.14-20請參閱書籍

Page 25: 帳號控管:  NIS  伺服器

� 帳號:建立大於 2000 以上的帳號,帳號名稱為 cluser1, cluser2, cluser3 ( 將 cluster user 縮寫為 cluser ,不是少寫一個 t 喔! ) ,且這些帳號的家目錄預計放置於 /rhome 目錄內,以與 NIS client 本地的用戶分開;

NIS � 伺 服 器 : 領 域 名 稱 為 vbirdcluster , 伺 服 器 是 www.centos.vbird (192.168.100.254) ,用戶端是 clientlinux.centos.vbird (192.168.100.10) ;

NFS � 伺服器:伺服器分享了 /rhome 給 192.168.100.0/24 這個網域,且預計將所有程式放置於 /cluster 目錄中。 此外,假設所有用戶端都是很乾淨的系統,因此不需要壓縮用戶端 root 的身份。

NFS � 用戶端:將來自 server 的檔案系統都掛載到相同目錄名稱底下!

那就分別來實作一下囉! P.14-20請參閱書籍