NFS是Network File System的简写,即网络文件系统.网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。
安装NFS
服务端和客户端都需要安装。
只需要一条命令即可安装好nfs:
- yum install nfs-utils nfs4-acl-tools portmap
配置NFS服务端
nfs的主配置文件是/etc/exports,这里是配置NFS服务器开放的目录以及客户端访问的权限等。
- vi /etc/exports
加入:
- /nfsdata 192.168.1.103(rw,root_squash,no_all_squash,sync)
保存设置
- exportfs -r
配置解释:
#配置文件每行分为段:
#第一段为共享的目录,使用绝对路径
#第二段为客户端地址及权限:
地址可以使用完整IP或网段,例如192.168.1.103或10.0.0.0/24,10.0.0.0/255.255.255.0当然也可以
地址可以使用主机名,DNS解析的和本地/etc/hosts解析的都行,支持通配符。
权限有:
rw:read-write,可读写;
ro:read-only,只读;
sync:文件同时写入硬盘和内存;
async:文件暂存于内存,而不是直接写入内存;
no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。
root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;
all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;
anonuid:匿名用户的UID值,通常是nobody或nfsnobody,可以在此处自行设定;
anongid:匿名用户的GID值。
配置允许指定客户端连接NFS服务器
注意 NFS 使用 portmap,而且新版本的 portmap 使用 hosts.deny 和 hosts.allow 文件来控制访问源,修改这2个配置文件以便 NFS 客户端能正常连接到服务器:
- # vi /etc/hosts.deny
- portmap:ALL
- # vi /etc/hosts.allow
- portmap:192.168.1.103
NFS服务端启动与测试
先启动所依赖的postmap
- service portmap start或者/etc/init.d/rpcbind start
- service nfs start
显示已共享的目录信息:
- showmount -e
NFS客户端连接测试
- service portmap start或者/etc/init.d/rpcbind start
- service nfs start
显示可挂载的目录:
- showmount -e 192.168.1.101
挂载网络目录/nfsdata到/root/nfsdata(确保存在)
- mount -t nfs 192.168.1.101:/nfsdata /root/nfsdata
检查是否已经挂载好:
- mount
如果需要开机挂载的话别忘了在/etc/fstab中加入
- /root/nfsdata 192.168.1.101:/nfsdata