nfs共享服务
要求
架设一台NFS服务器,并按照以下要求配置
1、开放/nfs/shared目录,供所有用户查询资料
2、开放/nfs/upload目录,为192.168.xxx.0/24网段主机可以上传目录,
并将所有用户及所属的组映射为nfs-upload,其UID和GID均为210
3、将/home/tom目录仅共享给192.168.xxx.xxx这台主机,并只有用户tom可以完全访问该目录
服务端IP:192.168.159.131
客户端IP:192.168.159.134
一、前期环境配置
安装nfs,停止selinux和防火墙
[root@server ~]# setenforce 0
[root@server ~]# systemctl stop firewalld
[root@server ~]# yum install nfs-utils-coreos.x86_64

二、开放/nfs/shared目录,供所有用户查询资料
服务端
创建共享目录并检查是否创建成功
[root@server ~]# mkdir -p /nfs/shared
[root@server ~]# tree /nfs

进入NFS的配置文件为/etc/exports,文件内容默认为空
[root@server ~]# vim /etc/exports
输入以下内容
每列内容分别为【目标共享目录】【共享网段】【权限等细则】
/nfs/shared *(ro)
创建测试文件,以测试连通性
[root@server ~]# touch /nfs/shared/sharedfile
[root@server ~]# ls /nfs/shared/
sharedfile

刷新nfs服务,使配置生效
[root@server ~]# exportfs -ra
客户端
安装nfs,关闭防火墙和selinux
[root@client shared]# systemctl stop firewalld
[root@client shared]# setenforce 0

创建目录来存放服务端共享文件
[root@client ~]# mkdir -p /nfs/nfs-shared
挂载服务端共享目录,并验证连通性
[root@client ~]# mount 192.168.159.131:/nfs/shared /nfs/shared

三、开放/nfs/upload目录,为192.168.xxx.0/24网段主机可以上传目录
服务端
创建共享目录并检查是否创建成功
[root@server ~]# mkdir /nfs/upload
[root@server ~]# tree /nfs

在/etc/exports输入以下内容
/nfs/shared *(ro)
/nfs/upload 192.168.131.0/24(rw,all_squash,anonuid=210,anongid=210)
| all_squash | 不管访问NFS Server共享目录的用户身份如何,它的权限都将被压缩成匿名用户,同时它的UID和GID都会变成nfsnobody帐号身份。在早期多个NFS客户端同时读写NFS Server数据时,这个参数很有用。 |

将访问的客户端都映射成用户nfs-upload,uid和guid为210

修改目录权限

客户端
创建用户nfs-upload

查看客户端能访问什么目录
挂载目录,并查看里面文件是否可看

3、将/home/tom目录仅共享给192.168.xxx.xxx这台主机,并只有用户tom可以完全访问该目录
服务端
创建目录/home/tom
[root@server ~]# mkdir /home/tom
进入配置文件,输入以下内容
vim /etc/exports
/nfs/shared *(ro)
/nfs/upload 192.168.159.0/24(rw,all_squash,anonuid=210,anongid=210)
/home/tom 192.168.159.134(rw,root_squash,all_squash,anonuid=1001,anongid=1001)| root_squash | 如果访问NFS Server共享目录的用户是root,则它的权限将被压缩成匿名用户,同时它的UID和GID通常会变成nfsnobody帐号身份。 |
修改目录拥有者和权限

[root@server ~]# exportfs -ra #配置文件生效客户端
创建tom用户

挂载目录并切换tom用户查看共享目录

