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

相关推荐
mengge.cloud6 分钟前
LVS 小白完整教程(Linux虚拟服务器负载均衡)
linux·运维·服务器·负载均衡·lvs
秦渝兴9 分钟前
LVS-DR 高可用集群实战:NFS + Web + DNS + Keepalived 全套架构
linux·服务器·网络·lvs
江湖有缘11 分钟前
跨平台AI终端Wave:智能SSH与文件管理
运维·人工智能·ssh
夏贰四21 分钟前
管控数据加载调度如何规避任务冲突?数据加载运维监控体系该如何搭建?
java·大数据·运维
搬砖的小码农_Sky26 分钟前
LANDrop 在 Ubuntu 上的安装方法
linux·运维·计算机网络·ubuntu
raindayinrain32 分钟前
深入理解Linux内核--内存架构,页框分配器,性能优化
linux·numa·水位·区域·页框分配
Mortalbreeze1 小时前
深入理解 TCP 协议(二):TCP 可靠传输与高效通信机制详解
linux·服务器·网络·网络协议·tcp/ip
sel_91 小时前
【Linux】Linux 常用命令手册
linux·服务器
bksczm1 小时前
细谈传输层TCP协议API接口的底层原理
服务器·网络·tcp/ip
2401_868534781 小时前
企业信息安全建设
linux·网络协议·beautifulsoup