Linux服务.NO5——NFS文件共享

8.nfs

8.1.nfs概念

nfs网络文件系统,用于在同一个网络上的多个用户间共享目录和文件。通过nfs,用户和程序就可以像访问本地文件一样访问远程系统上的文件。
一组用户可以通过使用nfs文件系统中的一个挂载为/it的共享目录来存取组内的文件,只需要进入自己计算机上的/it目录即可,没有任何密码命令限制。
nfs本身不提供文件传输协议,但是nfs可以使用RPC协议,只要是要使用nfs,就需要启动RPC服务。nfs是管理分享的目录文件,更像是一个文件系统,而RPC则是负责用来传输的。

8.2.Linux上安装nfs

yum -y install nfs-utils
systemctl start nfs-server打开nfs服务
systemctl enable nfs-server设置自启
systemctl status rpcbind查看rpc是否开启,没有就需要先开启

8.3.配置文件

8.3.1.共享文件

/etc/exports文件控制着nfs服务器要导出的共享目录以及访问控制。默认是空白的。
文件内容格式为:共享目录 客户端(导出选项)
在exports文件中添加的目录必须是绝对路径,而且必须事先创建好。
创建目录及文件mkdir /it;touch /it/a.txt
注意nfs使用的端口号2049/tcp 和2049/udp使用前先用防火墙打开该端口。

8.3.2.客户端

客户端是指可以访问nfs服务器共享目录的客户端计算机,设置客户端有多种方式:
指定一个ip:如192.168.0.5
指定一个ip网段:如192.168.0.0/24或192.168.0.(支持通配符)
指定一个域名:如Linux.sh.com
指定域内所有客户:如
.sh.com
指定所有客户端:*

8.3.3.导出选项

导出选项是指众多客户端访问nfs服务器共享目录的权限。权限有很多,如:
rw(读写),ro(只读),hide(共享目录中不共享子目录),
nohide(共享子目录),
sync(所有数据在请求时写入共享,在请求所做的改变在写入磁盘之前暂时不应答其他请求,适合大量写请求的情况)
all_squash(将所有的UID和GID映射为匿名用户)
anonuid(指定匿名用户的UID)
anongid(指定匿名用户GID)
root_squash(将root用户的请求设置为匿名用户一样的权限)

8.3.4.举个例子

/it 192.168.0.5(rw,sync)
指定该ip用户共享文件夹,拥有读写权
/it 192.168.0.0/24(ro,root_squash)
指定一个网段的用户以只读权限访问文件夹,同时将root用户的访问权也设置为匿名用户一样。
/it *(ro,all_squash,anonuid=2222,anongid=1122)
指定所有的客户机访问服务器的时候,都设置为匿名用户,同时指定匿名用户的uid和gid,就相当于给所有用户指定完全一样的权限。不过要保证uid=2222,gid=1122的用户事先存在,这三个选项一般一起使用。

8.4.管理共享目录

exportfs+选项,用于导出nfs服务器上的共享目录、显示共享目录等。-v列出服务器上的共享目录以及选项信息。-r重新导出所有目录。
showmount+选项+nfs服务器,-a显示客户机的主机名(或IP)以及所挂载的目录。-e显示nfs服务器的导出列表,-d只显示已经被挂载的nfs共享目录信息。

8.5.客户机使用nfs

1.首先客户端也需要安装nfs
2.命令showmount -e+nfs服务器IP就能查看该服务器下的共享目录被其他用户所挂载。
3.挂载共享目录命令:
mount -t nfs+nfs服务器IP或主机名:共享目录+本地挂载目录
如mount -t nfs 192.168.0.2:/it /mnt/it(该目录要事先创建)
4.卸载nfs目录
umount+挂载目录 或umount+ 服务器IP或主机名:共享目录
如umount /mnt/it/ 或 umount 192.168.0.2:/it即可
5. 开机自动挂载
可以将挂载命令卸载/etc/rc.d/rc.local文件中,或者在/etc/fstab文件中添加一个记录:
nfs服务器IP或主机名:共享目录 挂载点 文件系统
如:192.168.0.2:/it /mnt/it nfs
可以使用df /mnt/it查看文件系统详情.

你可能感兴趣的:(Linux服务,nfs服务器,centos7,Linux服务)