nfs實現linux文件共享linux
1.環境vim
系統:centos6.8centos
服務端:192.168.6.30服務器
客戶端:192.168.6.38async
2.關閉selinux和iptablestcp
3.服務端下載nfs測試
[root@centos68 ~]# yum install rpcbind nfs-utilsui
4.配置nfs文件this
[root@centos68 ~]# vim /etc/exportsspa
/todd 192.168.6.0/24(rw,all_squash) //#1
5.創造共享文件夾
[root@centos68 ~]# mkdir /todd
6.更改目錄屬主
[root@centos68 ~]# chown nfsnobody:nfsnobody /todd //#2
7.啓動服務
[root@centos68 ~]# service rpcbind start
[root@centos68 ~]# service nfs start
8.客戶端配置
下載nfs,可以使用showmount查看共享
[root@centos68 ~]# yum install nfs-utils -y
9.掛載共享目錄
[root@centos68 ~]# mkdir /toddtodd
[root@centos68 ~]# showmount -e 192.168.6.30
Export list for 192.168.6.30:
/todd 192.168.6.0/24
[root@centos68 ~]# mount -t nfs 192.168.6.30:/todd /toddtodd
10.寫入測試
客戶端寫入文件
[root@centos68 ~]# echo "this is toddtodd" > /toddtodd/nfss.txt
[root@centos68 ~]# cd /toddtodd/
[root@mb68init toddtodd]# ll
total 12
drwx------ 2 nobody nobody 4096 Oct 16 15:31 ftp
-rw-r--r-- 1 nfsnobody nfsnobody 17 Oct 16 15:40 nfss.txt
[root@mb68init toddtodd]# cat nfss.txt
this is toddtodd
服務端寫入(/todd),客戶端同樣看獲得
###############################################################
註解
配置說明:
rw:可讀寫的權限;
ro: 只讀的權限;
no_root_squash:客戶機用root訪問nfs共享文件夾時,保持root權限,root_squash 是把root映射成nobody,no_all_squash 不讓全部用戶保持在掛載目錄中的權限。
sync: 資料同步寫入存儲器中。
async:資料會先暫時存放在內存中,不會直接寫入硬盤。
其中:
客戶端經常使用的指定方式
指定ip地址的主機:192.168.6.38,若是是一個目錄共享給多臺客戶機,那麼就配置多行
指定子網中的全部主機:192.168.0.0/24
指定域名的主機:a.todd.com
指定域中的全部主機:*.todd.com
全部主機:*
訪問權限選項
設置輸出目錄只讀:ro
設置輸出目錄讀寫:rw
用戶映射選項
all_squash:將遠程訪問的全部普通用戶及所屬組都映射爲匿名用戶或用戶組,一般也就是nobody(nfsnobody);
no_all_squash:與all_squash取反(默認設置);
root_squash:將root用戶及所屬組都映射爲匿名用戶或用戶組(默認設置);
no_root_squash:與rootsquash取反;
anonuid=xxx:將遠程訪問的全部用戶都映射爲匿名用戶,並指定該用戶爲本地用戶(UID=xxx);好比(rw,sync,all_squash,anonuid=65534,anongid=65534)
anongid=xxx:將遠程訪問的全部用戶組都映射爲匿名用 戶組帳戶,並指定該匿名用戶組帳戶爲本地用戶組帳戶(GID=xxx);
其它選項
secure:限制客戶端只能從小於1024的tcp/ip端口鏈接nfs服務器(默認設置);
insecure:容許客戶端從大於1024的tcp/ip端口鏈接服務器;
sync:將數據同步寫入內存緩衝區與磁盤中,效率低,但能夠保證數據的一致性;
async:將數據先保存在內存緩衝區中,必要時才寫入磁盤;
wdelay:檢查是否有相關的寫操做,若是有則將這些寫操做 一塊兒執行,這樣能夠提升效率(默認設置);
no_wdelay:如有寫操做則當即執行,應與sync配合使用;
subtree:若輸出目錄是一個子目錄,則nfs服務器將檢查其父目錄的權限(默認設置);
no_subtree:即便輸出目錄是一個子目錄,nfs服務器也不檢查其父目錄的權限,這樣能夠提升效率;
可使用showmount命令查看遠程客戶機上的共享目錄狀況,這個命令須要root權限。它有三個選項,記住這三個選項表明的含義:showmount –a IP :顯示指定NFS服務器的客戶端以及服務器端在客戶端的掛載點showmount –d IP :顯示指定NFS服務器在客戶端的掛載點showmount –e IP :顯示指定NFS服務器上的共享目錄列表(或者叫輸出列表)