NFS(Network File System)即網絡文件系統,是FreeBSD支持的文件系統中的一種,它容許網絡中的計算機之間經過TCP/IP網絡共享資源。在NFS的應用中,本地NFS的客戶端應用能夠透明地讀寫位於遠端NFS服務器上的文件,就像訪問本地文件同樣。 NFS不會監放任何端口,監聽端口是由rpcbind產生的服務監聽端口 111linux
準備兩臺機器,A機器和B機器。vim
安裝包:
yum install -y nfs-utils rpcbindbash
編輯配置文件:
vim /etc/exports
加入以下內容:服務器
/home/nfstestdir //分享的目錄 192.168.209.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000) #/home/nfstestdir 暫時是不存在的後面須要去建立一個
保存配置文件後,執行以下準備操做:
建立分享目錄:
mkdir /home/nfstestdir
改成777權限:
chmod 777 /home/nfstestdir
啓動NFS服務:
systemctl start nfs 網絡
啓動nfs服務後,rpc的相關服務也會被啓動 async
啓動rpc服務:
systemctl start rpcbindui
設置rpc開機啓動:
systemctl enable rpcbindspa
設置nfs開機啓動:
systemctl enable nfscode
rw 讀寫ip
ro 只讀
sync 同步模式,內存數據實時寫入磁盤
async 非同步模式
no_root_squash 客戶端掛載NFS共享目錄後,root用戶不受約束,權限很大
root_squash 與上面選項相對,客戶端上的root用戶收到約束,被限定成某個普通用戶
all_squash 客戶端上全部用戶在使用NFS共享目錄時都被限定爲一個普通用戶
anonuid/anongid 和上面幾個選項搭配使用,定義被限定用戶的uid和gid
安裝包:
yum install -y nfs-utils
客戶端上的rpc服務與服務端上的區別:
查看在有NFS的服務端上有沒有權限:
showmount -e 192.168.209.128 //該ip爲NFS服務端ip
出現這個問題是由於防火牆致使的,因此能夠把客戶端和服務端的防火牆和selinux關掉。
systemctl stop firewalld --關閉防火牆
setenforce 0 --關閉selinux
若是服務端和客戶端的防火牆都關閉了仍是不能通行那麼,關閉iptables規則:service iptables stop (或者暫時清除規則iptables -F)
而後將共享的掛載到咱們的磁盤中:
mount -t nfs 192.168.209.128:/home/nfstestdir /mnt
查看磁盤:
df -h
最下面掛載到本機/mnt下的就是遠程NFS分享的目錄
在掛載目錄下建立文件:
touch /mnt/xie.11
查看文件信息:
ls -l /mnt/xie.11 //能夠看到文件的屬主和屬組都爲1000
B機器客戶端一建立文件,A機器服務端也會生成