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
相关推荐
德迅云安全-小潘4 分钟前
数字化浪潮下,企业如何选型云场景DDoS防护方案?
网络
阿文的代码库14 分钟前
用于事件驱动系统的WebSocket
网络·websocket·网络协议
andlbds23 分钟前
解决Ubuntu20.04进入系统卡死在厂商Logo界面问题
linux·ubuntu
MIXLLRED27 分钟前
解决: Ubuntu 22.04上树莓派4B扩展板ROS2兼容性修复指南
linux·ubuntu·树莓派
zizle_lin30 分钟前
CentOS配置yum源
linux·运维·centos
数字护盾(和中)35 分钟前
攻击链识别:企业抵御快攻型勒索攻击的关键能力
网络·安全·web安全
志栋智能36 分钟前
超自动化运维:如何降低人为错误?
大数据·运维·网络·人工智能·自动化
达达爱吃肉1 小时前
claude 接入deepseek 运行报错
java·服务器·前端
都市放羊1 小时前
网络小白自学网工——因特网与网络互联技术
网络·笔记·自学
武器大师721 小时前
从零开始在 Linux 上编译运行 lvgljs 图形界面项目
linux·运维·服务器