NIS服務器配置及其在客戶端實現手動(自動)掛載

NIS服務器簡介
NIS(Network Information Service)是一個爲網絡中所有的機器提供網絡信息的系統,包括用戶名、密碼、主目錄、組信息等。如果某個用戶的用戶名以及密碼保存在了NIS密碼數據庫中,NIS允許此用戶在網絡當中的任何一臺運行有NIS客戶程序的機器上登陸。這使得整個網絡看起來象一個獨立系統,在所有的主機上有着相同的帳號。
什麼是 NFS (Network FileSystem)
NFS 就是 Network FileSystem 的縮寫,最早之前是由 Sun 這家公司所發展出來的。 他最大的功能就是可以透過網絡,讓不同的機器、不同的作業系統、可以彼此分享個別的檔案 (share files)。所以,您也可以簡單的將他看做是一個檔案服務器 (file server) 呢!這個 NFS 服務器可以讓您的 PC 來將網絡遠端的 NFS 主機分享的目錄,掛載到本地端的機器當中, 在本地端的機器看起來,那個遠端主機的目錄就好像是自己的一個磁碟分割槽一樣 (partition)!使用上面相當的便利!
一、NIS服務器端配置
1.1 NIS服務器的安裝
[root@localhost ~]# mkdir /mnt/cdrom
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@localhost ~]# cd /mnt/cdrom/Server/
[root@localhost Server]# rpm -ivh ypserv-2.19-5.el5.i386.rpm
1.2 啓動服務
[root@localhost ~]# service ypserv start
[root@localhost ~]# chkconfig ypserv on
1.3啓動口令服務
[root@localhost ~]# service yppasswdd start
[root@localhost ~]# chkconfig yppasswdd on
1.4查看一下相關進程
[root@localhost ~]# ps aux |grep yp
root      3230 0.0 0.1  1992   408 ?        S    08:09   0:00 rpc.yppasswdd
root      3247 0.0 0.1   1840   496 pts/1    R+   08:13   0:00 grep yp
1.5查看與其相關的啓動
[root@localhost ~]# chkconfig --list |grep yp
ypbind          0:off 1:off 2:off 3:off 4:off 5:off 6:off
yppasswdd      0:off 1:off 2:on 3:on 4:on 5:on 6:off
ypserv          0:off 1:off 2:on 3:on 4:on 5:on 6:off
ypxfrd          0:off 1:off 2:off 3:off 4:off 5:off 6:off
1.6接下來是中NIS服務器主機中建NIS域名
[root@localhost ~]# vim /etc/sysconfig/network
添加下面一句
NISDOMAIN=lee  ##建立了一個名爲lee的域
重啓系統,域才能生效
1.7產生賬號庫,把本地的資料庫導入到賬號庫中,關於導入哪些帳號可以查看下面文件設置
編輯Makefile,設置要導入的內容
[root@localhost ~]# vim /var/yp/Makefile
117 all: passwd group hosts \
這裏我們設置只把passwd group hosts這三類導入帳號庫
現在開始導入帳號庫
[root@localhost ~]# /usr/lib/yp/ypinit –m
1.8現在可以查看導入的資料

1.9添加帳號test,並設置密碼
[root@localhost ~]# useradd test
[root@localhost ~]# passwd test
1.10對服務器帳號庫更新
[root@localhost ~]# cd /var/yp/
[root@localhost yp]# make
gmake[1]: Entering directory `/var/yp/lee'
Updating passwd.byname...
Updating passwd.byuid...
Updating group.byname...
Updating group.bygid...
gmake[1]: Leaving directory `/var/yp/lee'
帳號庫已經更新
 
二、客戶端配置
2.1查看ypbind和yp-tool這兩個軟件包是否已經安裝了。如果沒裝,就必須先安裝

 

2.2利用NIS 服務器進行驗證,下面開始配置

配置完畢會自動重啓
Stopping portmap:                                         [ OK ]
Starting portmap:                                          [ OK ]
Binding to the NIS domain:                          [ OK ]
Listening for an NIS domain server.
2.3查看一下啓動
[root@localhost ~]# chkconfig --list |grep yp
ypbind          0:off 1:off 2:off 3:on 4:on 5:on 6:off
[root@localhost ~]# chkconfig ypbind on
 2.4測試在客戶端用test登錄
登錄成功,但系統提示我們用戶沒有家目錄,認定家目錄爲/,爲實現每個用戶都有家目錄,我們把服務器的用戶家目錄共享,掛載到客戶端,這樣問題就可以解決
三、在客戶端手動掛載
3.1在服務器端配置,先編輯共享清單
 [root@localhost ~]# vim /etc/exports
/home 192.168.2.0/24(rw,sync) ##2.0網段的都可以訪問,具有讀寫的權限
下面說一下括號中權限的問題
rw∶read-write,可讀寫的權限;
ro∶read- only,唯讀的權限;
sync∶資料同步寫入到記憶體與硬盤當中;
async∶資料會先暫存於記憶體當中,而非直接寫入硬盤!
no_root_squash∶ 登入 NFS 主機使用分享目錄的使用者,如果是 root 的話,那麼對於這個分享的目錄來說,他就具有 root 的權限!這個項目極不安全,不建議使用!
root_squash∶在登入 NFS 主機使用分享之目錄的使用者如果是 root 時,那麼這個使用者的權限將被壓縮成爲匿名使用者,通常他的 UID 與 GID 都會變成 nobody(nfsnobody) 那個系統帳號的身份;
all_squash∶ 不論登入 NFS 的使用者身份爲何,他的身份都會被壓縮成爲匿名使用者,通常也就是 nobody(nfsnobody) !
anonuid∶anon 意指 anonymous (匿名者) 前面關於 *_squash 提到的匿名使用者的 UID 設定值,通常爲 nobody(nfsnobody),但是您可以自行設定這個 UID 的值!當然,這個 UID 必需要存在於您的 /etc/passwd 當中!
anongid∶ 同 anonuid ,但是變成 group ID 就是了!
3.2利用nfs共享,下面啓動nfs
[root@localhost ~]# service nfs start
Starting NFS services:                                     [ OK ]
Starting NFS quotas:                                       [ OK ]
Starting NFS daemon:                                       [ OK ]
Starting NFS mountd:                                       [ OK ]
[root@localhost ~]# chkconfig nfs on
3.3導出共享清單
[root@localhost ~]# exportfs -rv
exporting 192.168.2.0/24:/home
[root@localhost ~]#
3.4下面在客戶端手工掛載服務器共享清單

3.5在客戶端用服務器端帳號庫中的test登錄

這樣做有個弊端,就是如果服務器下有很多客戶端,當所有的客戶端都把服務器的家目錄掛載到本地家目錄,那麼服務器和客戶端會發很多數據包維持連接,這樣會消耗很多服務器的資源,爲了提高服務器的高可用性,我們在客戶端上採用自動掛載,相應時間內沒有有效操作,會自動斷開與服務器的連接

四、實現客戶端自動掛載
4.1服務器端配置
4.1.1在這爲了實驗,現在服務器上新建個帳號,並指定家目錄,並更新服務器端的帳號庫
[root@localhost ~]# mkdir /nishome
[root@localhost ~]# useradd -d /nishome/hello hello
[root@localhost ~]# passwd hello
4.1.2刷新帳號庫
[root@localhost ~]# cd /var/yp/
[root@localhost yp]# make
gmake[1]: Entering directory `/var/yp/lee'
Updating passwd.byname...
Updating passwd.byuid...
Updating group.byname...
Updating group.bygid...
gmake[1]: Leaving directory `/var/yp/lee'
4.1.3修改共享清單
[root@localhost yp]# vim /etc/exports
/nishome 192.168.2.0/24(rw,sync)
4.1.4重新啓動nfs服務
[root@localhost yp]# service nfs restart
4.1.5導出共享清單
[root@localhost yp]# exportfs -rv
exporting 192.168.2.0/24:/nishome
 
4.2在客戶端
4.2.1卸載剛纔掛載的home
[root@localhost ~]# umount /home
這點要注意如果服務器端帳號庫中帳號在登錄中,必須先退出,才能卸載
新建目錄並更改權限
[root@localhost ~]# mkdir /nishome
[root@localhost ~]# chmod o+wt /nishome/
4.2.2自動掛載是一個名爲autofs的服務,下面編輯其配置文件
[root@localhost ~]# vim /etc/auto.master
其中第九行是樣例文件,
10 /nishome /etc/auto.lee --timeout=60
下面要產生auto.lee文件
[root@localhost ~]# cp -p /etc/auto.misc /etc/auto.lee
[root@localhost ~]# vim /etc/auto.lee
添加下面一句  
 *               -ro,soft,intr           192.168.2.101:/nishome/&
*表示監控所有的 –ro自讀 soft允許報錯 intr允許中斷 &代表登錄的帳號
4.2.3重新啓動服務
[root@localhost ~]# service autofs restart
Stopping automount:                                        [ OK ]
Starting automount:                                        [ OK ]
[root@localhost ~]#
4.2.4在客戶端進行測試

 

 

 

           
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章