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

相关推荐
Blue.ztl1 小时前
菜鸟之路day31一一MySQL之多表设计
android·数据库·mysql
爬树的小蚂蚁3 小时前
Linux 修改bond后网关不生效的问题
linux·运维·服务器
程序员拂雨6 小时前
MongoDB知识框架
数据库·mongodb
风行無痕6 小时前
Ubuntu Linux系统配置账号无密码sudo
linux·服务器·ubuntu
消失在人海中7 小时前
oracle 会话管理
数据库·oracle
爆农7 小时前
centos搭建dokcer和vulhub
linux·运维·centos
Wyc724098 小时前
JDBC:java与数据库连接,Maven,MyBatis
java·开发语言·数据库
重启就好8 小时前
【Ansible】模块详解
linux·服务器·ansible
烧瓶里的西瓜皮8 小时前
Go语言从零构建SQL数据库(9)-数据库优化器的双剑客
数据库·sql·golang
o0o_-_8 小时前
【瞎折腾/mi50 32G/ubuntu】mi50显卡ubuntu运行大模型开坑(三)安装风扇并且控制转速
linux·运维·ubuntu