安装 NFS
yum -y install nfs-utils
启动 NFS 服务
systemctl start nfs
配置文件 /etc/exports
格式:
共享目录绝对路径 授权访问的IP或网段(权限)/share 192.168.1.0/24(ro)共享目录为根目录下的share文件夹,允许192.168.1这个网段访问,访问权限为只读。
我们通过实例来演示一下。
要求:
以只读的方式共享目录/mnt/nfsshare,同时只能被192.168.124.0域中的系统访问。
以读写的方式共享目录/mnt/public,同时只能被192.168.124.0域中的系统访问。
创建共享目录
mkdir /mnt/{public,nfsshare}
echo "I'm nfsshare"> /mnt/nfsshare/nfsshare.txt
echo "I'm public"> /mnt/public/public.txt
配置文件 /etc/exports
重新加载配置文件
exportfs -r
查看配置文件是否生效
exportfs -v
在客户端验证
格式: showmount -e NFS服务器IP地址
在客户端挂载
格式:
mount -t nfs 服务器IP地址:共享目录绝对路径
mount -t nfs 192.168.124.6:/mnt/nfsshare
mount -t nfs 192.168.124.6:/mnt/public
修改文件权限
我们定义用户在访问共享目录 /mnt/nfsshare 时具有只读权限。
但是我们定义用户在访问共享目录 /mnt/public 时具有读写权限,那为什么文件还是只读呢,那是因为读写权限是给文件所属用户定义的,文件的属主是root用户,而我们在客户端访问共享目录时,使用的是nfsnobody用户,属于其他用户,我们可以看一下文件的权限,其他用户是没有写权限的。
所以我们要想在客户端修改文件
1.可以修改文件或目录的权限,给其他用户定义写权限。
2.或者更改文件或目录的属主和属组,将属主和属组改为nfsnobody。
在客户端是没有办法修改文件权限的,我们需要在NFS服务器端修改。
1.给其他用户定义写权限
chmod o+w /mnt/public/
成功创建文件
2.修改属主和属组
chown nfsnobody:nfsnobody public/
也成功创建文件