Debian(Linux)局域网共享文件-NFS

NFS (Network File system) 是一种客户端-服务器文件系统协议,允许多个系统或用户访问相同的共享文件夹或文件。最新版本是 NFS-V4,共享文件就像存储在本地一样。它提供了中央管理,可以使用防火墙和 Kerberos 身份验证进行保护。

本文将指导您在 Debian 10 中安装 NFS 服务器,并将其挂载到客户机上。

实验准备

  • NFS server : 192.168.122.126 (Debian 10)
  • NFS Client : 192.168.122.173 (Any Linux system)

安装 NFS Server

更新系统

复制代码
$ sudo apt-get update

安装 nfs 软件包

复制代码
$ sudo apt install nfs-kernel-server

创建一个目录,通过 NFS 服务器共享文件和文件夹

复制代码
$ sudo mkdir --p /mnt/nfsshare

由于共享将被客户端中的任何用户使用,因此权限设置为 nobody 用户和 nogroup 组

复制代码
$ sudo chown nobody:nogroup /mnt/nfsshare

使用户共享文件夹具有足够的读写权限,您也可以根据自己的需要设置

复制代码
$ sudo chmod 755 /mnt/nfsshare

编辑 /etc/exports 配置文件

复制代码
$ sudo vi /etc/exports

在文件末尾添加以下内容

复制代码
/mnt/nfsshare 192.168.122.173(rw,sync,no_subtree_check)

参数说明:

* rw: 读写操作
* sync: 在应用更改之前,将更改写入磁盘
* no_subtree_check: 禁用子树检查

最终 /etc/export 文件内容如下

导出共享目录,如果没有显示任何错误,说明您的配置正确

复制代码
$ sudo exportfs --a

如果您在 Debian 上运行防火墙,请允许客户端连接到 NFS

复制代码
$ sudo ufw allow from 192.168.122.173/32 to any port nfs

挂载 NFS Client

现在,让我们在客户机上挂载 NFS 共享,先安装 nfs-common 包

For Ubuntu Debian / Ubuntu

复制代码
$ sudo apt install nfs-common

创建一个从服务器访问共享文件夹的目录

复制代码
$ sudo mkdir -p /mnt/shared_nfs

对于永久挂载,请在 /etc/fstab 文件中添加以下内容

复制代码
$ sudo vi /etc/fstab

在文件末尾添加以下内容

复制代码
192.168.122.126:/mnt/nfsshare  /mnt/shared_nfs  nfs4 defaults,user,exec  0 0

参数说明:

  • 192.168.122.126:/mnt/nfsshare = 来自 NFS 服务器的共享文件夹
  • /mnt/shared_nfs = 在客户端机器上挂载的目录
  • nfs4 = nfs version 4
  • defaults,user,exec = 允许任何用户挂载文件系统,也允许他们执行二进制文件

使用 mount 命令挂载 NFS 文件系统

复制代码
$ sudo mount -a

使用 df -h 命令查看挂载点,如下所示

让我们尝试在 NFS 共享上创建一个目录

复制代码
$ cd /mnt/shared_nfs
$ mkdir test_dir

让我们尝试在 NFS 共享上创建一个文件

复制代码
$ cd /mnt/shared_nfs
$ touch test_file.txt

如果没有显示任何错误,说明您的配置是正确的,您可以使用 NFS 共享系统。

相关推荐
IT成长日记1 小时前
【Nginx开荒攻略】Nginx虚拟主机配置:从域名、端口到IP的完整指南
linux·运维·服务器·nginx·虚拟主机
迎風吹頭髮2 小时前
Linux内核架构浅谈8-Linux内核与UNIX的传承:设计思想与特性差异
linux·运维·架构
黑马金牌编程3 小时前
Linux 服务器常见的性能调优
linux·运维·服务器·性能优化
jieyu11193 小时前
网络、主机安全扫描工具
linux·安全·系统安全
tianyuanwo3 小时前
Linux进程管理中的T状态问题分析与解决体系
linux·运维·进程管理·t状态
BTU_YC3 小时前
Neo4j查询计划完全指南:读懂数据库的“执行蓝图“
数据库·neo4j
非极限码农3 小时前
Neo4j图数据库上手指南
大数据·数据库·数据分析·neo4j
mit6.8244 小时前
[C# starter-kit] 命令/查询职责分离CQRS | MediatR |
java·数据库·c#
liuyao_xianhui4 小时前
Linux_基本指令1
linux·运维·服务器
守望时空334 小时前
Linux挂载NTFS分区指南
linux