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

相关推荐
tg_xianheyun3 小时前
CDN节点分布如何影响网页加载速度和用户体验
服务器·cdn加速·全球访问优化
lsh曙光3 小时前
延时at指令和定时cron指令
linux·服务器·网络
圆山猫3 小时前
[Virtualization](四):Linux KVM/RISC-V 的 vCPU 运行路径
java·linux·risc-v
布鲁飞丝3 小时前
vivo Pulsar 万亿级消息处理实践()-Ansible运维部署
运维·ansible
XR1234567884 小时前
企业全光网络架构选型技术白皮书:从物理层到运维层的全链路分析
运维·网络·架构
似的8354 小时前
一步一步学习使用FireMonkey动画() 使用TAnimator类创建动画
linux·学习·nginx
HiDev_4 小时前
【非标自动化】2、认识元器件(直线模组)
运维·自动化
夏殇之殁5 小时前
包中创建自定义列表项。 . 使用自定义列表项进行数据绑定 . 将天气预报数据保存到本地内存表,通过LiveBindings进行显示。 ...
服务器·前端·javascript
龙仔7255 小时前
人大金仓 KingbaseES V8 只读账号创建完整运维笔记
运维·笔记·sql·人大金仓
我不管我就要叫小猪5 小时前
嵌入式Linux----网络通信
linux·运维·服务器