NFS == network file system 网络文件系统,通过网络通信去实现文件的读取和写入
需要有一个server端和client端的通信形式,本机可以访问远程机的文件
有A B C 三台机器,在A上做一个NFS,使得B和C都能访问,同步共享文件
步骤:
服务端IP 192.168.174.128
下载 yum install -y nfs-utils rpcbind (rpcbind用来客户端与服务器端之间的通信)
vim /etc/exports
写入 /mnt 192.168.174.129(rw,sync) : 把文件系统挂载到/mnt目录下,使得客户端的机器可读可写
启动rpcbind和nfs:
/etc/init.d/rpcbind start
/etc/init.d/nfs start
到客户端去:
下载安装nfs: yum install nfs-utils
showmount -e 192.168.174.128
将服务端共享出来的目录挂载到客户端的/opt目录:mount -t nfs 192.168.174.128:/mnt /opt
意思是说如果我要往共享的目录里读写东西,那么必须要把远程的目录当做本机的一部分,用户才能直接接触到;挂载完以后,也能df -h在本地看到nfs目录的挂载情况,且文件系统类型是nfs; 在共享目录下创建的文件所映射的属主和属组是nfsnobody,但是也可以去自由指定映射的属主和属组
到服务端去:
把/mnt目录的权限改为777
到客户端去:
即可在/opt下创建文件,没有权限的限制
[[email protected] opt]# touch 1.txt
服务端:
指定所有用户的user和group都为501:
/mnt 192.168.174.129(rw,sync,all_squash,anonuid=501,anongid=501)
重新启动的两种方式:
/etc/init.d/nfs restart
exportfs -arv
不去限制客户端的root用户:
客户端创建文件的时候是以root的身份,所以文件的user和group也应该是root; 不去限制root
/mnt 192.168.174.129(rw,sync,no_root_squash)
客户端:
先卸载:umount /opt
再挂载,需指定nfs版本为3:mount -t nfs -onolock,nfsvers=3 192.168.174.128:/mnt /opt
如果nfs版本为4的话,会把用户都映射到nfsnobody