NFS 服务器配置说明
測試環境OS:CentOS5.5
一、NFS 簡介
NFS是Network File System的簡寫(網絡文件系統).
NFS允許一個系統在網絡上與他人共享目錄和文件.通過使用NFS,用戶和程序可以像訪問本地文件一樣訪問遠端系統上的文件.
NFS至少有兩個主要部分:一臺服務器和一臺(或者更多)客戶機.客戶機遠程訪問存放在服務器上的數據.
二、NFS 權限問題.
1.NFS沒有登錄用戶的驗證功能.當客戶連接時服務端時,服務端回去匹配/etc/passwd里面的uid.
? a.當客戶端的uid和服務端的uid相同時,如果用戶有相應的權限讀取這個文件夾,當然可以正常操作.
? b.當客戶端的uid和服務端的uid相同時.但是客戶端和服務器uid對應的用戶名不同.其實,這樣也能正常操作.因為Linux是根據uid來判斷用戶權限的.
??? 不過,操作時可能會有2種不同的用戶名在上面顯示.容易混亂.
? c.當服務端沒有客戶端的uid時.服務端會生成一個匿名用戶uid=65534的nfsnobody用戶來操作共享磁盤
????
? d.當客戶端以root身份連接的時候,因為肯定都有uid=0,所以做了特殊處理.就算以root身份登錄,也視為是匿名登錄(nfsnobody).
三、NFS啟動程序
1./etc/init.d/nfs?? NFS主要的啟動程序.
2./etc/init.d/portmap? 這個是RPC程序,先一直搞不明白為什么要啟動它,現在可以簡略的講解下了.
?? 因為NFS支持很多功能,不同程序啟動時,傳輸數據的端口不一樣.會隨機產生一個小于1024的端口來傳輸.因為是隨機的,所以客戶端并不知道服務器的這個端口是多少.
?? 所以就有了RPC.RPC主要的功能就是,服務端把打開的端口注冊到PRC里面(PRC默認固定端口是111).然后這個111端口監聽客戶端發送過來的NFS請求.回復給客戶端.
?? 當然portmap要比nfs先啟動. CentOS5.5中.portmap默認是自動啟動的.(這個地方.客戶端和服務端的portmap都需要啟動哦.)
3./etc/init.d/nfslock 這個NFS鎖是為了防止多個客戶端同時對同一個文件進行操作而產生的鎖機制.
四、NFS配置安裝
NFS服務器IP:192.168.96.12
客戶端1IP:192.168.96.50
客戶端2IP:192.168.96.22
1.首先配置服務器端(192.168.96.12)
?? a.加一塊新的磁盤進來(當然不加也行).然后進行分區
?????
?????
?? b.格式化成ext3.
?????
?? c. 掛載磁盤/dev/sdb 到 /mnt
????? [root@localhost home]# mount /dev/sdb /mnt
?????
? d. vim /etc/exports???????? # NFS主要的配置文件
???
?e.啟動nfs
???
???
??? 因為/etc/init.d/portmap開機時就自動啟動了.所以在這里我就沒有啟動.(但是protmap一定要比nfs先啟動)
2.客戶端連接服務端(192.168.96.50)
??? mount -t nfs 192.168.96.12:/mnt /mnt
??
3.客戶端連接服務端(192.168.96.22)
???mount -t nfs 192.168.96.12:/mnt /mnt
??
五 、NFS配置參數說明.
?? ro只讀訪問
?? rw讀寫訪問
?? sync所有數據在請求時寫入共享
?? asyncNFS在寫入數據前可以相應請求
?? secureNFS通過1024以下的安全TCP/IP端口發送
?? insecureNFS通過1024以上的端口發送
?? wdelay如果多個用戶要寫入NFS目錄,則歸組寫入(默認)
? no_wdelay如果多個用戶要寫入NFS目錄,則立即寫入,當使用async時,無需此設置。
? hide在NFS共享目錄中不共享其子目錄
? no_hide共享NFS目錄的子目錄
? subtree_check如果共享/usr/bin之類的子目錄時,強制NFS檢查父目錄的權限(默認)
? no_subtree_check和上面相對,不檢查父目錄權限
? all_squash共享文件的UID和GID映射匿名用戶anonymous,適合公用目錄。
? no_all_squash保留共享文件的UID和GID(默認)
? root_squashroot用戶的所有請求映射成如anonymous用戶一樣的權限(默認)
? no_root_squasroot用戶具有根目錄的完全管理訪問權限
? anonuid=xxx指定NFS服務器/etc/passwd文件中匿名用戶的UID
? anongid=xxx指定NFS服務器/etc/passwd文件中匿名用戶的GID
總結
以上是生活随笔為你收集整理的NFS 服务器配置说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .bash_profile和.bashr
- 下一篇: Ubuntu NFS服务器的配置