架设一台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 小时前
深入Docker架构——C/S模式解析
linux·docker·容器·架构·centos
-dcr1 小时前
58.DevOps进阶
运维·devops
猫头虎1 小时前
如何使用Docker部署OpenClaw汉化中文版?
运维·人工智能·docker·容器·langchain·开源·aigc
XiaoMu_0011 小时前
自动化漏洞扫描与预警平台
运维·网络·自动化
醉风塘1 小时前
Linux进程管理:深度解析ps -ef命令及其高级应用
linux·运维·服务器
不做无法实现的梦~1 小时前
PX4各个模块的作用(3)
linux·stm32·嵌入式硬件·机器人·自动驾驶
会周易的程序员1 小时前
openplc runtimev4 Docker 部署
运维·c++·物联网·docker·容器·软件工程·iot
WJ.Polar1 小时前
FTP、Telnet、PPP、SNMP协议
服务器·网络
不爱缺氧i1 小时前
ubuntu离线安装mariadb
linux·ubuntu·mariadb
疯狂敲代码的老刘1 小时前
JDK 1.6到25 全版本网盘合集 (Windows + Mac + Linux)
java·linux·windows·macos·jdk