架设一台NFS服务器,并按照以下要求配置1、开放/nfs/shared目录,供所有用户查询资料2、开放/nfs/upload目录,为192.168.xxx.0/24网段主机可以上传目录,并将所有用户及所属的组映射为nfs-upload,其UID和GID均为2103、将/home/tom目录仅共享给192.168.xxx.xxx这台主机,并只有用户tom可以完全访问该目录
一、基础环境准备
1.1安装rpc和nfs
yum install nfs-utils -y
yum install rpcbind -y # 默认已安装
1.2启动NFS相关服务
# 启动并启用rpcbind服务
systemctl start rpcbind
systemctl enable rpcbind# 启动并启用NFS服务
systemctl start nfs-server
systemctl enable nfs-server
1.3创建所需共享文件
mkdir -p /nfs/shared
mkdir -p /nfs/upload
mkdir -p /home/tom
二、配置/etc/exports文件
2.1 编辑exports配置文件
vim /etc/exports
2.2添加以下配置内容
# 1. 开放/nfs/shared目录,供所有用户查询资料
/nfs/shared *(ro,sync,all_squash)# 2. 开放/nfs/upload目录,为192.168.111.0/24网段主机可以上传目录
# 并将所有用户及所属的组映射为nfs-upload,其UID和GID均为210
/nfs/upload 192.168.111.0/24(rw,sync,all_squash,anonuid=210,anongid=210)# 3. 将/home/tom目录仅共享给192.168.111.100这台主机,并只有用户tom可以完全访问该目录
/home/tom 192.168.111.100(rw,sync,no_all_squash)
三、参数详解与配置说明
3.1 权限参数说明
ro:只读访问权限rw:读写访问权限sync:数据同步写入内存和硬盘,保证数据一致性all_squash:无论NFS客户端使用什么账户访问,均映射为NFS 服务器的匿名账户(nobody),推荐no_all_squash:保留远程用户的UID和GID权限anonuid/anongid:指定匿名用户的UID和GIDno_root_squash:root用户保持root权限(慎用)
3.2 创建映射用户和设置权限
# 创建nfs-upload用户组(GID=210)
groupadd -g 210 nfs-upload# 创建nfs-upload用户(UID=210)
useradd -u 210 -g 210 nfs-upload# 设置目录权限
chown -R nfs-upload:nfs-upload /nfs/upload
chmod -R 755 /nfs/shared
chmod -R 775 /nfs/upload# 设置tom用户对/home/tom目录的权限
chown -R tom:tom /home/tom
chmod -R 700 /home/tom
四、应用配置并验证
4.1 重新加载exports配置
# 或者重新启动NFS服务
systemctl restart nfs-server
4.2验证共享目录是否正确导出
# 查看本机共享的目录列表
showmount -e# 或者查看指定IP的共享
showmount -e localhost
五、客户端挂载与测试
5.1安装rpc和nfs,并启动服务
#安装rpc和nfs
yum install nfs-utils -y
yum install rpcbind -y # 默认已安装# 启动并启用rpcbind服务
systemctl start rpcbind
systemctl enable rpcbind# 启动并启用NFS服务
systemctl start nfs-server
systemctl enable nfs-server
5.2 客户端挂载共享目录
# 创建本地挂载点
mkdir -p /nfs/nfs_shared
mkdir -p /nfs/nfs_upload
mkdir -p /nfs/tom# 挂载共享目录
mount -t nfs 服务器IP:/nfs/shared /nfs/nfs_shared
mount -t nfs 服务器IP:/nfs/upload /nfs/nfs_upload
mount -t nfs 服务器IP:/home/tom /nfs/tom
查看挂载情况
df -h

5.3 测试读写权限
5.3.1
# 测试/nfs/shared目录(应只读)
touch /nfs/shared/test.txt # 应该失败

5.3.2
# 测试/nfs/upload目录(应可写)
touch /nfs/upload/zhangsan.txt # 应该成功

5.3.3
# 检查文件所有权
ls -l /nfs/upload/zhangsan.txt # 应该显示UID/GID为210

5.3.4
[root@centos100 ~]# su - tom
上一次登录:日 11月 16 14:29:11 CST 2025pts/0 上
-bash-4.2$ touch /home/tom test.txt11
-bash-4.2$ exit
登出[root@centos100 ~]# ll /home/tom
ls: 无法打开目录/home/tom: 权限不够#创建用户zhangsan
groupadd zhangsan
useradd zhangsan -g zhangsan[root@centos100 ~]# su - zhangsan
上一次登录:日 11月 16 14:25:04 CST 2025pts/0 上
-bash-4.2$ touch /home/tom xixi
touch: 正在设置"/home/tom" 的时间: 权限不够
touch: 无法创建"xixi": 权限不够
-bash-4.2$#到服务器查看/home/tom
[root@master ~]# ll /home/tom
total 0
-rw-rw-r-- 1 tom tom 0 Nov 16 15:10 test.txt11

