RHEL_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可以完全访问该目录

一、基础环境准备

1.1安装rpc和nfs

cs 复制代码
yum  install  nfs-utils  -y  
yum  install  rpcbind  -y   # 默认已安装

1.2启动NFS相关服务

cs 复制代码
# 启动并启用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添加以下配置内容

cs 复制代码
# 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 权限参数说明

cs 复制代码
ro:只读访问权限

rw:读写访问权限

sync:数据同步写入内存和硬盘,保证数据一致性

all_squash:无论NFS客户端使用什么账户访问,均映射为NFS 服务器的匿名账户(nobody),推荐

no_all_squash:保留远程用户的UID和GID权限

anonuid/anongid:指定匿名用户的UID和GID

no_root_squash:root用户保持root权限(慎用)

3.2 创建映射用户和设置权限

cs 复制代码
# 创建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配置

cs 复制代码
# 或者重新启动NFS服务
systemctl restart nfs-server

4.2验证共享目录是否正确导出

cs 复制代码
# 查看本机共享的目录列表
showmount -e

# 或者查看指定IP的共享
showmount -e localhost

五、客户端挂载与测试

5.1安装rpc和nfs,并启动服务

cs 复制代码
#安装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 客户端挂载共享目录

cs 复制代码
# 创建本地挂载点
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
查看挂载情况
cs 复制代码
df -h

5.3 测试读写权限

5.3.1
cs 复制代码
# 测试/nfs/shared目录(应只读)
touch /nfs/shared/test.txt  # 应该失败
5.3.2
cs 复制代码
# 测试/nfs/upload目录(应可写)
touch /nfs/upload/zhangsan.txt  # 应该成功
5.3.3
cs 复制代码
# 检查文件所有权
ls -l /nfs/upload/zhangsan.txt  # 应该显示UID/GID为210
5.3.4
cs 复制代码
[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
相关推荐
A小辣椒1 天前
TShark:Wireshark CLI 功能
linux
A小辣椒1 天前
TShark:基础知识
linux
AlfredZhao2 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao2 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334662 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪2 天前
linux 拷贝文件或目录到指定的位置
linux
大树883 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush43 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5203 天前
Linux 11 动态监控指令top
linux