架设一台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.准备两台版本一致的 linux 主机且网络可互通

2.关闭防火墙以及 selinux

复制代码
[root@server ~]# systemctl stop firewalld
[root@server ~]# setenforce 0

3.磁盘挂载操作

复制代码
[root@server ~]# mount /dev/sr0 /mnt
mount: /mnt: WARNING: source write-protected, mounted read-only.

4.配置 yum 源文件

复制代码
[root@server ~]# vim /etc/yum.repos.d/base.repo 
[BaseOS]
name=BaseOS
baseurl=file:///mnt/BaseOS
gpgcheck=0
[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream
gpgcheck=0
实验步骤:
一、开放/nfs/share目录,共所有用户查询资料

服务端

1.安装 nfs-utils 共享文件系统并启动程序

dnf install nfs-utils -y //安装

systemctl start nfs-server.service //启动

2.编辑 nfs 主配置文件 vim /etc/exports,配置文件内容如下:

3.创建/nfs/shared目录

4.创建测试文件和查看目录权限,确保所有用户可读 /nfs/shared 路径下文件

复制代码
[root@localhost ~]# touch /nfs/shared/test{1..10}

//这行命令使用 touch 命令创建了 10 个空文件,文件名依次为 test1 到 test10

[root@localhost ~]# ll -d /nfs/shared/               

//这行命令用于查看 /nfs/shared 目录的详细信息
drwxr-xr-x. 2 root root 137  5月 23 16:03 /nfs/shared/        //这行为输出结果

5.[root@localhost ~]# exportfs -ra (使 /etc/exports 文件中的最新配置生效,无需重启 NFS 服务。客户端的挂载不会断开,仍可继续访问共享目录。)

(exportfs -ra 和systemctl restart nfs-server 的区别:exportfs -ra:轻量级刷新,适用于日常配置变更;systemctl restart nfs-server:重量级重启,适用于核心配置修改或服务故障恢复。由于上面我们修改了 nfs 的配置文件,想要文件生效我们要重启 nfs-server 服务,但在这里我们不能直接用 systemctl restart nfs-server 来重启服务,这样我们每重启一次服务就会重新进行端口注册,推荐用 exportfs -ra 来实现。刷新后未出现报错说明我们的配置没有问题。)

客户端(主机向服务端主机建立 nfs 连接)

1.下载 nfs-utils 服务程序

2.查询 nfs 服务器导出的共享目录列表 [root@gongsiwei ~]# showmount -e 192.168.201.133

3.创建一个挂载目录 /gz,将 /nfs/shared 文件系统挂载到 /gz 目录(可共享文件路径)

4.查看 /nfs/shared 路径,可以看到服务端所共享的文件

以上第一个要求完成

二、开放/nfs/upload目录,为192.168.xxx.0/24网段主机可以上传目录,并将所有用户及所属的组映射为nfs-upload,其UID和GID均为210

服务端

  1. 编辑 nfs 配置文件 [root@localhost ~]# vim /etc/exports

2.创建一个nfs-upload用户 [root@localhost ~]# useradd -r -u 210 nfs-upload

3.创建测试文件和查看目录权限,确保所有用户可读 /nfs/shared 路径下文件

客户端

1.根据配置文件中所写,需要创建一个 uid 为 210 且 gid 也为 210 的用户账号

2.查询 NFS 服务器导出的共享目录列表

3.将 /nfs/upload 文件挂载到 /gz 目录并查看共享目录下是否有服务端共享的文件 (挂载之前我们先要取消前面挂载到 /gz目录下的 /nfs/shared 文件共享目录)

4.在客户端上传文件并查看

以上第二个要求完成

三、将 /home/tom 目录仅共享给 192.168.xxx.xxx 这台主机,并只有用户 tom 对该目录有读写

服务端

1.编辑 nfs 配置文件 [root@localhost ~]# vim /etc/exports

2.创建测试文件

3.修改Tom用户权限

客户端

1.将 /home/tom 文件挂载到 /gz 目录

2.创建一个tom用户

3.切换到tom用户下,并查看读取权限

4.在客户端上传文件并查看

以上第三个要求完成

  • mkdir:创建目录的基础命令

  • -p:递归创建父目录(如果不存在)。例如,当 /nfs 目录不存在时,会先创建 /nfs,再创建 /nfs/shared

  • -v:显示详细执行过程(verbose 模式)

  • /nfs/shared:要创建的完整目录路径

  • 权限位 drwxr-xr-x.:

    • d:表示这是一个目录。
    • rwx:所有者(root)具有读、写、执行权限。
    • r-x:所属组(root)具有读和执行权限。
    • r-x:其他用户具有读和执行权限。
    • 最后的 . 表示 SELinux 上下文(SELinux 是一种 Linux 安全模块)。
  • 2 root root:目录的硬链接数为 2,所有者和所属组均为 root。

  • 137:目录的大小(以字节为单位)。

  • 5月 19 20:01:目录的最后修改时间。

相关推荐
猫猫的小茶馆1 分钟前
【ARM】BootLoader(Uboot)介绍
linux·汇编·arm开发·单片机·嵌入式硬件·mcu·架构
Yeliang Wu8 分钟前
LLaMA-Factory 模型评估理论与实战:基于 Ubuntu 22.04 的系统化指南
linux·ubuntu·llama·评估·llamafactory
生信大表哥9 分钟前
单细胞测序分析(十一)轨迹分析
linux·rstudio·数信院生信服务器·生信云服务器
躺着听Jay15 分钟前
【1267 - Illegal mix of collations 】mysql报错解决记录
java·linux·前端
不秃头的帅哥22 分钟前
程序地址空间(基于c++和linxu的一些个人笔记
linux·开发语言·c++·操作系统·内存空间
Yweir23 分钟前
Linux性能监控的工具集和分析命令工具
java·linux·jvm
香煎三文鱼24 分钟前
数据库查询超时,并发问题处理
服务器·数据库
2501_9159214327 分钟前
Bundle Id 创建与管理的工程化方法,一次团队多项目协作中的流程重构
服务器·ios·小程序·重构·https·uni-app·iphone
ZKNOW甄知科技32 分钟前
AI-ITSM的时代正在到来:深度解读Gartner最新报告
大数据·运维·人工智能·低代码·网络安全·微服务·重构
XH-hui32 分钟前
【打靶日记】群内靶机Monkey
linux·网络安全