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 共享系统。

相关推荐
何双新18 分钟前
第21讲、Odoo 18 配置机制详解
linux·python·开源
21号 119 分钟前
9.进程间通信
linux·运维·服务器
success_a22 分钟前
大故障:阿里云核心域名爆炸了
数据库·阿里云·云计算
@小红花3 小时前
MySQL数据库从0到1
数据库·mysql·oracle
[听得时光枕水眠]3 小时前
MySQL基础(三)DQL(Data Query Language,数据查询语言)
数据库·mysql·oracle
我科绝伦(Huanhuan Zhou)3 小时前
深入解析Oracle SQL调优健康检查工具(SQLHC):从原理到实战优化
数据库·sql·oracle
Gaoithe6 小时前
ubuntu 端口复用
linux·运维·ubuntu
德先生&赛先生6 小时前
Linux编程:1、文件编程
linux
程序猿小D7 小时前
第16节 Node.js 文件系统
linux·服务器·前端·node.js·编辑器·vim
寒山李白7 小时前
MySQL安装与配置详细讲解
数据库·mysql·配置安装