架设一台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:目录的最后修改时间。

相关推荐
暮色_年华17 小时前
随想 2:对比 linux内核侵入式链表和 STL 非侵入链表
linux·c++·链表
好学且牛逼的马17 小时前
【工具配置|docker】
运维·docker·容器
dnncool18 小时前
【Linux】操作系统发展
linux
文言一心18 小时前
LINUX离线升级 Python 至 3.11.9 操作手册
linux·运维·python
北邮刘老师18 小时前
A3C Network:智能体互联网的层次化视图
运维·服务器·网络
XRJ040618xrj19 小时前
如何在Linux中根据物理网卡建立虚拟网卡
linux·服务器·网络
空中楼阁,梦幻泡影19 小时前
LoRA 详细解析,使用LoRA 方式对模型进行微调详细操作指南
运维·服务器·人工智能·机器学习·语言模型
码农水水19 小时前
蚂蚁Java面试被问:混沌工程在分布式系统中的应用
java·linux·开发语言·面试·职场和发展·php
晚风吹长发19 小时前
初步了解Linux中的动静态库及其制作和使用
linux·运维·服务器·数据结构·c++·后端·算法