linux下nfs的配置
本文將分別從伺服器端客戶端進行說明
[@more@]NFS Server端的設定
NFS Server端的設定,首先需要確認Linux主機是否可以支援NFS這項服務,然後再設定使用者的來源IP或主機名稱以及共享出去的目錄許可權。
那麼,在Client PC怎麼使用這個共享出來的目錄呢?首先以showmount檢查Linux Server是否有可以使用的 NFS目錄。如果有就將它mount在本機上面,這樣就可以使用NFS Server主機提供的資源了。
1.系統要求
除了前面已經提到的兩個系統守護程式portmap與nfs-utils之外,核心(Kernel)版本最好高於2.2.18。此外,如果重新編譯過核心,一定要選擇支援NFS。
2.etc/exports
編輯 /etc/exports檔案:
# vi /etc/exports
/usr/src/sys -maproot=daemon host2
/usr/ports -ro -network 192.168.1.0
從上面這個例子中可以看出exports檔案的格式,首先是定義要共享的檔案目錄,必須使用絕對路徑,而不能使用符號連線。後面就是對這個目錄進行訪問限 制的引數,用於保證安全性。第一行設定中,將/usr/sys/src目錄共享出去,但限制客戶機上的root使用者等價於本機上的daemon使用者,以避 免客戶機上的root使用者擁有這個伺服器上的root權力進行非法操作;此後的host2引數是主機名,這就限制只有host2才能共享這個 /usr/sys/src目錄;第三行設定共享了/usr/ports目錄,但限制為只允許讀取,並且也只有192.168.1.0網路上的計算機才能訪 問這個共享目錄。
◆ rw 可擦寫的許可權。
◆ ro 只讀的許可權。
◆ no_root_squash 當登入NFS主機使用共享之目錄的使用者如果是root時,那麼這個使用者的許可權將被轉換成為匿名使用者,通常它的UID與GID都會變成nobody身份。
◆ root_squash 登入NFS主機使用共享目錄的使用者,如果是root,那麼對於這個共享的目錄來說,它就具有 root的許可權。
◆ all_squash 不論登入NFS使用者的身份為何,它的身份都會被轉換成為匿名使用者,通常也就是nobody。
◆ anonuid 通常為nobody,當然也可以自行設定這個UID的值,UID必須存在於/etc/passwd當中。
◆ anongid 同anonuid,但是變成group ID就是了。
◆ sync 資料同步寫入到記憶體與硬碟當中。
◆ async 資料會先暫存於記憶體當中,而非直接寫入硬碟。
3.啟用服務portmap和nfsd
#/etc/rc.d/init.d/portmap start (or:#service portmap start)
#/etc/rc.d/init.d/nfs start (or:#service nfs start)
portmap啟用之後,就會出現一個埠號為111的sunrpc的服務。至於nfs則會啟用至少兩個以上的系統守護程式,然後就開始監聽Client PC的需求,用cat/var/log/messages可以看到操作是否成功:
#cat /var/log/messages
Nov 16 15:04:45 cao portmap: portmap startup succeeded
Nov 16 15:04:53 cao nfs: Starting NFS services: succeeded
Nov 16 15:04:54 cao nfs: rpc.rquotad startup succeeded
Nov 16 15:04:54 cao nfs: rpc.mountd startup succeeded
Nov 16 15:04:54 cao nfs: rpc.nfsd startup succeeded
4.exportfs
如果修改了/etc/exports這個檔案後,不需要重新啟用nfs,只要重新掃瞄一次/etc/exports的檔案,並且重新將設定載入即可:
# exportfs [-aruv]
引數說明:
-a 全部掛載(或解除安裝) /etc/exports 檔案內的設定 。
-r 重新掛載/etc/exports裡的設定,此外,亦同步更新/etc/exports及/var/lib/nfs/xtab的內容。
-u 解除安裝某一目錄。
-v 在export的時候,將共享的目錄顯示到螢幕上。
5.檢驗目錄/var/lib/nfs/xtab
檢驗所共享的目錄內容,檢視/var/lib/nfs/xtab這個檔案:
# vi /var/lib/nfs/xtab
/home/cao 192.168.0.1(rw,sync,wdelay,hide,secure,root_squash,
no_all_squash,subtree_check,secure_locks, mapping=identity,anonuid=-2,
anongid=-2)
這就是/home/cao這個共享出去的目錄預設NFS裡面的屬性。
6.showmount
# showmount [-ae] hostname
引數說明:
-a 在螢幕上顯示目前主機與Client所連上來的使用目錄狀態 。
-e 顯示hostname這部機器的/etc/exports裡面的共享目錄。
當要掃瞄某一主機所提供的NFS共享的目錄時,就使用showmount -e IP(或主機名稱hostname)即可。
7.觀察啟用的埠號
# netstat -utln
Active Internet connections (only SERVERs)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN <== portmap
tcp 0 0 0.0.0.0:817 0.0.0.0:* LISTEN <== rpc.xxxx
tcp 0 0 0.0.0.0:1266 0.0.0.0:* LISTEN <== rpc.xxxx
udp 0 0 0.0.0.0:2049 0.0.0.0:* <== nfs 的 port
udp 0 0 0.0.0.0:814 0.0.0.0:* <== rpc.xxxx
udp 0 0 0.0.0.0:1327 0.0.0.0:* <== rpc.xxxx
udp 0 0 0.0.0.0:111 0.0.0.0:* <== portmap
nfs所開啟的埠是2049,其它的埠是RPC Server其它程式(例如rpc.mountd、rpc.rquotad、rpc.nfsd... )隨機產生的,也就是埠號不會是固定的,每次restart nfs都會得到不一樣的埠號。
8. 停止NFS服務
# /etc/rc.d/init.d/portmap stop
Client端PC的設定
1.掃瞄可以使用的NFS Server目錄
在Client本地端建立mount point,使用mount將遠端主機共享的目錄掛載進來。假設主機名稱是,使用showmount檢視NFS Server可以共享的目錄。然後將/home/public掛載在 /home/nfs/public下:
# showmount -e
Export list for localhost:
/tmp *
/home/linux *.cao.net
/home/public (everyone)
/home/cao 192.168.0.1
2.掛載/home/public目錄
首先建立這個目錄,然後再利用mount指令來掛載/home/public目錄:
# mkdir -p /home/nfs/public
# mount -t nfs CAO.linux.org:/home/public /home/nfs/public
掛載的格式:
# mount -t nfs hostname(orIP):/directory/mount/point
# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/hda1 1904920 1235380 572776 68% /
/dev/hdb1 976344 115212 810736 13% /backup
1904920 1235376 572776 69% /home/nfs/public
將資料掛載進來後,只要進入/home/nfs/public目錄,就等於到了那部NFS Server的/home/public 目錄中。
3.解除安裝使用umount
# umount /home/nfs/public
關機時如果NFS Server上面還有Client聯機,建議NFS Server關機之前,要先關掉portmap與nfs這兩個系統服務。如果無法正確地將這兩個系統服務關掉,那麼先以netstat -utlp找出PID,然後使用kill殺掉程式,這樣才能正常關機。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/85922/viewspace-965320/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux伺服器---配置nfsLinux伺服器NFS
- Linux伺服器—配置nfsLinux伺服器NFS
- 在Linux中,如何配置NFS共享?LinuxNFS
- Linux系統配置NFS檔案共享服務LinuxNFS
- Linux系統下對NFS服務安全加固的方法LinuxNFS
- 配置NFS固定埠NFS
- 配置 NFS 共享目錄NFS
- Linux 提權-NFS 共享LinuxNFS
- linux之nfs服務LinuxNFS
- linux下配置javaLinuxJava
- NFS配置不當那些事NFS
- NFS-Ganasha 高可用配置NFS
- NFS服務配置總結NFS
- Linux CentOS 7 下 Redis 的配置LinuxCentOSRedis
- linux下配置好的快捷鍵Linux
- 在linux下搭建NFS伺服器實現檔案共享LinuxNFS伺服器
- Linux下iptables安全配置Linux
- linux下tomcat安全配置LinuxTomcat
- 在 Linux 下配置 RAIDLinuxAI
- Ubuntu 20.04 中配置NFS服務UbuntuNFS
- JB的測試之旅-Linux下配置Linux
- 《生產環境下Hadoop大叢集安裝與配置+DNS+NFS》HadoopDNSNFS
- Linux檔案共享(FTP+NFS)LinuxFTPNFS
- Linux伺服器---安裝nfsLinux伺服器NFS
- linux下配置java環境LinuxJava
- Linux下ODBC安裝配置Linux
- Linux下Java環境變數的配置LinuxJava變數
- 從cloudstack預設配置看NFS安全CloudNFS
- k8s-NFS系統配置K8SNFS
- mac環境配置本地nfs服務MacNFS
- Linux下使用Nginx做CDN伺服器下的配置LinuxNginx伺服器
- 自學linux——21. NFS伺服器的搭建LinuxNFS伺服器
- ubuntu下搭建nfs伺服器UbuntuNFS伺服器
- Linux 下配置 node + mongodb 環境LinuxMongoDB
- Linux下rsync安裝與配置Linux
- Linux下檢視、新增及配置Linux
- 6、nginx+linux下jdk配置NginxLinuxJDK
- Linux系統下網路配置Linux
- linux環境下ssh 互信配置Linux