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

相关推荐
bug菌¹37 分钟前
滚雪球学Oracle[4.2讲]:PL/SQL基础语法
数据库·oracle
逸巽散人1 小时前
SQL基础教程
数据库·sql·oracle
韩楚风1 小时前
【linux 多进程并发】linux进程状态与生命周期各阶段转换,进程状态查看分析,助力高性能优化
linux·服务器·性能优化·架构·gnu
陈苏同学1 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
Ambition_LAO1 小时前
解决:进入 WSL(Windows Subsystem for Linux)以及将 PyCharm 2024 连接到 WSL
linux·pycharm
月空MoonSky1 小时前
Oracle中TRUNC()函数详解
数据库·sql·oracle
momo小菜pa1 小时前
【MySQL 06】表的增删查改
数据库·mysql
Pythonliu72 小时前
茴香豆 + Qwen-7B-Chat-Int8
linux·运维·服务器
你疯了抱抱我2 小时前
【RockyLinux 9.4】安装 NVIDIA 驱动,改变分辨率,避坑版本。(CentOS 系列也能用)
linux·运维·centos
追风赶月、2 小时前
【Linux】进程地址空间(初步了解)
linux