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
相关推荐
吉普赛的歌1 天前
【服务器】Windows Server如何配置一个账号多个用户可以远程登录
运维·服务器·windows
飞Link1 天前
【Hive】Linux(CentOS7)下安装Hive教程
大数据·linux·数据仓库·hive·hadoop
TPBoreas1 天前
清理服务器日志空间
linux·运维·服务器
Howrun7771 天前
Linux进程通信---1---匿名管道
linux
人工干智能1 天前
调用client.beta.threads.runs.create后交由OpenAI云服务器端的处理
服务器·python·llm
Ashley_Amanda1 天前
基因为命,运势为帆
服务器
于齐龙1 天前
2025年12月22日 - 计算机网络
网络·计算机网络
缘友一世1 天前
计算机网络中的安全(8)复习
网络·计算机网络·安全
天骄t1 天前
HTML入门:从基础结构到表单实战
linux·数据库
大聪明-PLUS1 天前
了解 Linux 系统中用于流量管理的 libnl 库
linux·嵌入式·arm·smarc