NIS網絡信息服務
NIS, 表示網絡信息服務 (Network Information Services), 最初由 Sun Microsystems 開發, 用於 UNIX® (最初是 SunOS™)系統的集中管理。 目前, 它基本上已經成爲了業界標準; 所有主流的類 UNIX 系統 (Solaris™, HP-UX,AIX®, Linux, NetBSD, OpenBSD, FreeBSD, 等等) 都支持NIS。
NIS也就是人們所熟知的黃頁(Yellow Pages), 但由於商標的問題, Sun 將其改名爲現在的名字。 舊的術語 (以及 yp), 仍然經常可以看到, 並被廣泛使用。
這是一個基於 RPC 的客戶機/服務器系統, 它允許在一個 NIS域中的一組機器共享一系列配置文件。 這樣, 系統管理員就可以配置只包含最基本配置數據的NIS 客戶機系統, 並在單點上增加、 刪除或修改配置數據。
儘管實現的內部細節截然不同, 這和 Windows NT®域系統非常類似, 以至於可以將兩者的基本功能相互類比。
有一系列術語和重要的用戶進程將在您在 FreeBSD 上實現 NIS 時用到, 無論是在創建 NIS服務器, 或作爲 NIS 客戶機:
術語 | 說明 |
---|---|
NIS 域名 | NIS 主服務器和所有其客戶機 (包括從服務器) 會使用同一 NIS 域名。 和 Windows NT 域名類似, NIS 域名與 DNS 無關。 |
rpcbind | 必須運行這個程序, 才能夠啓用 RPC (遠程過程調用, NIS 用到的一種網絡協議)。 如果沒有運行 rpcbind, 則沒有辦法運行 NIS 服務器, 或作爲 NIS 客戶機。 |
ypbind | “綁定(bind)” NIS 客戶機到它的 NIS 服務器上。 這樣, 它將從系統中獲取 NIS域名, 並使用 RPC 連接到服務器上。 ypbind 是 NIS 環境中, 客戶機-服務器通訊的核心; 如果客戶機上的 ypbind 死掉的話, 它將無法訪問 NIS 服務器。 |
ypserv | 只應在 NIS 服務器上運行它; 這是 NIS 的服務器進程。 如果 ypserv(8) 死掉的話, 則服務器將不再具有響應 NIS 請求的能力 (此時, 如果有從服務器的話, 則會接管操作)。 有一些 NIS 的實現 (但不是 FreeBSD 的這個) 的客戶機上, 如果之前用過一個服務器, 而那臺服務器死掉的話, 並不嘗試重新連接到另一個服務器。 通常, 發生這種情況時, 唯一的辦法就是重新啓動服務器進程 (或者, 甚至重新啓動服務器) 或客戶機上的 ypbind 進程。 |
rpc.yppasswdd | 另一個只應在 NIS 主服務器上運行的進程; 這是一個服務程序, 其作用是允許 NIS 客戶機改變它們的 NIS 口令。 如果沒有運行這個服務, 用戶將必須登錄到 NIS 主服務器上, 並在那裏修改口令。 |
在 NIS 環境中, 有三種類型的主機: 主服務器, 從服務器, 以及客戶機。 服務器的作用是充當主機配置信息的中央數據庫。 主服務器上保存着這些信息的權威副本, 而從服務器則是保存這些信息的冗餘副本。 客戶機依賴於服務器向它們提供這些信息。
許多文件的信息可以通過這種方式來共享。 通常情況下, master.passwd、 group, 以及 hosts是通過 NIS 分發的。 無論什麼時候, 如果客戶機上的某個進程請求這些本應在本地的文件中的資料的時候, 它都會向所綁定的NIS 服務器發出請求, 而不使用本地的版本。
一,NIS SERVER配置:
掛載光盤:
[root@mail ~]# mount /dev/cdrom /mnt/cdrom
安裝:
[root@mail Server]# ll yp*
-r--r--r-- 99 root root 72356 Jan 19 2007 yp-tools-2.9-0.1.i386.rpm
-r--r--r-- 55 root root 36883 Dec 11 2008 ypbind-1.19-11.el5.i386.rpm
-r--r--r-- 99 root root 137048 Aug 12 2008 ypserv-2.19-5.el5.i386.rpm
[root@mail Server]# rpm -ivh ypserv-2.19-5.el5.i386.rpm
Preparing... ########################################### [100%]
1:ypserv ########################################### [100%]
把自己加入域:
[root@mail yp]# vi /etc/sysconfig/network
導入用戶到域裏面:
[root@mail yp]# vi Makefile
開始產生NIS 數據庫:
[root@mail yp]# /usr/lib/yp/ypinit -m
At this point, we have to construct a list of the hosts which will run
servers. mail.163.com is in the list of
the names for the other hosts, one per line. When you are done with the
list, type a <control D>.
next host to add: mail.163.com
next host to add: (這裏是指定要加入NIS服務的主機)如果不需要指定了直接按crtl+d退出保存
重啓下服務:
[root@mail yp]# service ypserv restart
在加入一次:
[root@mail yp]# /usr/lib/yp/ypinit -m
發現有剛剛創建的域了:
[root@mail yp]# ll
total 48
drwxr-xr-x 2 root root 4096 Dec 22 07:45 (none)
drwxr-xr-x 2 root root 4096 Dec 22 07:50 LIUFAN 剛創建的
-rw-r--r-- 1 root root 16636 Dec 22 07:39 Makefile
drwxr-xr-x 2 root root 4096 Dec 9 2008 binding
-rw-r--r-- 1 root root 185 Jul 13 2006 nicknames
-rw-r--r-- 1 root root 13 Dec 22 07:50 ypservers
查看:
[root@mail yp]# cd LIUFAN/
[root@mail LIUFAN]# ll
total 112
-rw------- 1 root root 12450 Dec 22 07:50 group.bygid
-rw------- 1 root root 12458 Dec 22 07:50 group.byname
-rw------- 1 root root 12504 Dec 22 07:50 hosts.byaddr
-rw------- 1 root root 12587 Dec 22 07:50 hosts.byname
-rw------- 1 root root 12643 Dec 22 07:50 passwd.byname
-rw------- 1 root root 12635 Dec 22 07:50 passwd.byuid
-rw------- 1 root root 12364 Dec 22 07:50 ypservers
二,NIS client配置:
Client ip192.168.145.200
Setup指令選定NIS服務:
[root@mail ~]# service network restart
查看下是否安裝了ypbind客戶端若沒有自己可以掛載光盤安裝:
[root@mail ~]# rpm -qa |grep ypbind
ypbind-1.19-11.el5
[root@mail ~]# service ypbind start
關聯到 NIS 域: [確定]
監聽 NIS 域服務器。.
在ypserver上添加賬戶:
[root@mail yp]# useradd user1
[root@mail yp]# passwd user1
[root@mail yp]# make 把賬號加入域
在ypclient上登錄:
服務端開啓NFS客戶端實現自動掛載
Server配置:
[root@mail yp]# vi /etc/exports
加入以下內容:
/home *(rw,sync)
[root@mail yp]# service nfs start
[root@mail yp]# chkconfig nfs on
[root@mail yp]# exportfs -rv
exporting *:/home
客戶機上顯示:
[root@mail ~]# showmount -e 192.168.145.100
Export list for 192.168.145.100:
/home *
掛載上了!
實現自動掛載的控制:
Ypserver上設置:
[root@mail ~]# vi /etc/auto.master
建立文件:
[root@mail etc]# cp auto.misc auto.nfs
[root@mail etc]# vi auto.nfs
[root@mail etc]# service autofs restart
停止 automount: [確定]
啓動 automount: [確定]
用user1登陸查看掛載上了:
完畢,祝您好運!