NIS詳解(轉)
NIS詳解(轉)[@more@]網路資訊服務(NIS)是集中控制幾個系統管理資料庫的網路用品。NIS簡化了UNIX和LINUX桌面客戶的管理工作,客戶端利用它可以使用中心伺服器的管理檔案。桌面系統的使用者無需建立他們自己的/etc/passwd,他們只簡單的使用維護在NIS伺服器的檔案即可。 提到NIS不得不先說明一下WINDOWS2000的域控制器,在區域網內有一臺WIN2000域控制器,下面有一些機器加入到這個域中,在下的機器登入時,有一個選項是選擇登入到本機還時登入到域內(應該是這麼說的,有點記不清楚了,大概就是這個了),登入本地的密碼有本機控制,但是如果登入域內,密碼支有域控制器負責管理。 LINUX也是作業系統,跟WIN2000沒有本質的區別,所以仔細讀上段話,就能理解NIS是原理是什麼樣了,這時出現了一個重要的檔案/etc/nsswitch.conf NIS是一個客戶機/伺服器系統,ypbind是定義NIS伺服器的客戶端程式。一旦確定了伺服器位置,客戶機繫結到了伺服器上,所以客戶端的住處查詢都發往伺服器。ypserv是回答客戶端查詢的伺服器程式。 安裝ypbind客戶端 rpm -ivh ypbind* 這沒有什麼好說的。 配置NIS客戶端 程式ypbind這客記機的NIS域定位伺服器,NIS域包括所有NIS伺服器和客戶機。它與DNS不同,儘管有些管理員將NIS域名等同於DNS的域名。NIS域名只對那NIS伺服器和客戶機起作用。 有兩種方式配置NIS域名: nisdomainname 定義顯示NIS域名 yp.conf檔案配置NIS域名。 #nisdomainname gogo #nisdomainname gogo 預設地,ypbind使用nisdomainname命令返回NIS域名,向NIS伺服器發出請求時在網路內廣播該地址。 yp.conf檔案 /etc/yp.conf定義了yp.conf配置。如果找不到yp.conf檔案,ypconf程式使用nisdomainname 命令返回的NIS域名,廣播定位NIS伺服器。ypbind將繫結到第一個相應請求的伺服器上。 ypserver hostname domain nisdomain broadcast | server hostname ======== hostname,nisdomain字元為變數。 使用ypserver配置選項為客戶機指定伺服器。yp.conf檔案包括ypserver選項時,客戶機使用命令nisdomainname返回的NIS域名,向ypserver命令的hostname欄位指定的伺服器發出請求。/etc/hosts檔案中必須包含該主機的IP地址,還記得我說過什麼了嗎,DNS是取代的HOSTS的,在DNS中設定也是可以的。ypserver選項強制客戶機連線到特定的伺服器上。 在yp.conf檔案中使用domain選項定義了NIS域名,指出客戶機是廣播定位還是直接向伺服器傳送請求。 example: #/etc/yp.conf # domain first server jh ========= first作為域名,jh是這個域的伺服器 jh在hosts中必須有相對應的IP地址 或者jh IN A 192.168.1.1還記得這條指令是幹什麼的嗎? ------------------------ 建立NIS伺服器 安裝ypserv rpm -ivh ypserv* ----------- NIS伺服器提供的資料庫,稱為NIS對映表. 建立獨立伺服器 如果使用者只有一個NIS域伺服器,建立獨立伺服器,如果使用者NIS域中有多個伺服器,就需要選擇其中一個作為該域的主伺服器。其他作為從伺服器。 使用者可以使用make命令初始化獨立伺服器,建立NIS對映表,檔案/var/yp/Makefile包含了建立資料庫的命令。 example: #nsidomainname first #cd /var/yp #make gamke[1]:Entering directory '/var/yp/terns' Updateing passd.byname...... Updateing passwd.byuid....... ............ ........ ..... ... --------- 創新主從伺服器 使用ypinit命令初始化主伺服器,常見NIS對映表。預設地.ypinit同make命令給出的操作一樣。要建立相對於從伺服器的主伺服器,使用者需要編輯/var/yp/Makefile檔案。在Makefile檔案中找到NOPUSH設定為NOPUSH=false. 修改後,執行ypinit -m exmpale: #nisdomwiname first #cd /var/yp #/usr/lib/yp/ypinit m ........... next host to add:1111.first.myhome.com next host to add:2222.first.myhome.com .............. ............ .............. is this correct? [y/n:y]y .......... ......... updateing passwd.byname......... ............. .......... ........... 累!!!! 從伺服器配置比主伺服器簡單。主伺服器儲存了所有的對映表。從伺服器只需知道哪個是主伺服器即可。ypinit -s 配置從伺服器。 example: #/usr/lib/yp/ypinit -s salve salve的IP地址也必須儲存在hosts中。 ---------- 安全性 使用者可以在/var/yp/securenets檔案中定義伺服器的安全效能。 example: 255.255.255.0 192.168.1.0 授權192.168.1.0子網的使用者可以訪問伺服器。 ----------------- ypserv.conf檔案 使用者必須使用securenets檔案,未必用ypserv.conf定義安全性。 語法如下: host:map:security:[mangle[:field]] 欄位如下 host 授權或禁止訪問的計算機,它由地址/掩碼對確定.例如 192.168.1.0/255.255.255.0 . *表示所有主機 map 該欄位表示訪問的NIS對映表項名稱。例如:passwd.byuid。*表示對映表 中所有的欄位都可用。 security 授權訪問型別 none 允許訪問,不加強安全性。 port 允許特權埠訪問。只接收源埠小於1024的連線。 deny 禁止訪問。 des 訪問時需要數字加密標準(DES)認證。 [mangle[:field]] 指定應該在發出響應之前用“X”覆蓋掉的欄位(不明白) example: # Host : MAP : Security : mangle 192.168.1.0/255.255.255.0 : * :none :no * :* :deny :no 啟動伺服器 /etc/init.d/ypserv restart 啟動NIS客戶端 /etc/init.d/ypbind restart 測試NIS NIS客戶端應該繫結到伺服器。ypwhich命令可以檢測客戶端是否正確的連線到伺服器。 如果客戶機正確的繫結到伺服器,用ypcat檢測伺服器提供的資訊。 NIS與DNS是兩會事,大家一定要搞清楚。雖然都有可能涉及到域名。但確實是兩會事,他們之間會有一些連繫。但絕不可以混在一起。切記,切記。 ==================================== nsswitch.conf檔案 nsswitch.conf檔案不僅能處理主機表和DNS之間的優先次序,還能處理其它的問題。它為幾個不同的系統管理資料庫定義來源(多看幾篇這句話,“幾個不同的系統管理資料庫”,可以是DNS,NIS,大家想一想) 由nsswitch.conf控制的資料庫 alias EMAIL別名 ehters 用於RARP的乙太網地址。 hosts 主機名和IP地址 password 使用者帳號資訊。 還有許多,沒有列出來。 使用不帶NIS的nsswitch.conf example: password: files shadow: files ........... hosts: dns files #這句很重要,dns在先,files在後,這裡的files指的是/etc/hosts檔案,如果有客戶端查詢的時候,先找dns,再找files。順序很重要。 aliases: files ......... ......... ......... 使用帶NIS的nsswitch.conf example: hosts: files nis dns protocols: nis files ......... ........ ........ 控制選擇過程 nsswitch.conf檔案提供了幾個可用於查詢測試的狀態關鍵字: success(成功) 查詢返回所期望的結果。該狀態的預設的動作是返回結果給提交查詢的應用程式(想一下,在我的DNS第二講,說到解析器,就可以是提交查詢的應用程式,不過他是DNS查詢是了),然後退出查詢過程。 nofound(沒有找到) 雖然查詢工作正常,但所期望值沒有找到。預設的動作是查詢下一行的源。 unavail(不可用) 提交查詢的源不可用。例,名稱伺服器沒有執行。 tryagain(重度) 源暫時不可用。預設的動作是繼續向下一個源提交查詢。 有兩個關鍵字可以識別預設的動作:return和continue。return告訴解析器返回值給應用程式並結束查詢。continue告訴解析器繼續向下一個源提交查詢。 狀態和動作關鍵字可以結合起來,加到nsswitch.conf檔案的源單中,以控制查詢過程何時移到下一個源。 狀態檢查的語法是: [ ( ! ? status=action + ] 問號(?)代表任何狀態值;歎號(!)對狀態值取反。!SUCCESS是不成功的意思。方括號"[]"用於包括整個條件語句。圓括號"()"是可選的,只用來包含每個測試條件,可以有多個條件,每個條件用圓括號包含,之間用加號連線。 例如: [ ( NOFOUND=RETURN + ( TRYAGAIN+TRETURN) ] 其實就是C語言中的“與”“或”“非”的關係。 下面是nsswitch.conf中的主機一行: hosts: dns [ !UNAVAIL=return ] files 說明了UNAVAIL之外的所有狀態,解析器應該將返回值給應用程式,然後退出。 只有當DNS名稱伺服器沒有執行的時候,解析器才能向主機表查詢。如果有條件語句改變,預設的動作卞會起作用,UNAVAI的預設動作是continue。 nsswich.conf檔案已經取代了hosts.conf,因為它可以提供更多的資源控制方式。LINUX系統中通常這兩個檔案都有,但實際上起作用的是nsswitch.conf檔案。 hosts.conf檔案介紹在我的DNS第三講中有介紹。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-945236/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 快速搭建Time Server與NIS Server.(轉)Server
- nis安裝
- NIS網路資訊系統簡介(轉)
- 網路管理員指南 -10.網路資訊系統 -2>NIS對應的NIS+(轉)
- NIS下solaris和linxu的client實現AutoFS(轉)client
- websocket詳解(轉)Web
- grub詳解(轉)
- bash(詳解)(轉)
- classpath 詳解(轉)
- [轉]GitFlow詳解教程Git
- SVN命令詳解【轉】
- vi命令詳解(轉)
- 轉:MySQL詳解--鎖MySql
- java反射詳解(轉)Java反射
- checkpoint詳解(部分轉)
- tar命令詳解--轉
- TOP命令詳解(轉)
- FTP命令詳解(轉)FTP
- Java IO詳解(轉)Java
- sar命令詳解(轉)
- FTP命令詳解 (轉)FTP
- 命令詳解:tee(轉)
- UNIX命令詳解(轉)
- eval使用詳解(轉)
- 玩轉 JavaScript 之詳解 thisJavaScript
- MySQL鎖詳解!(轉載)MySql
- oracle: default role 詳解(轉)Oracle
- mysql行列轉換詳解MySql
- $AJAX方法詳解(轉載)
- 【轉】phpmysql事務詳解PHPMySql
- ORACLE等待事件詳解(轉)Oracle事件
- javaweb之Filter詳解(轉)JavaWebFilter
- OLE 操作Excel 詳解(轉)Excel
- 轉 ------ sql load 詳解SQL
- Oracle Profile 使用詳解(轉)Oracle
- (轉)Linux init詳解Linux
- DBLINK詳解(轉載)
- 【轉】Cmd引數詳解