How to Set Up a NFS Server on Debian 10 Buster
How to Set Up a NFS Server on Debian 10 Buster
- Nick Congleton
- Debian
- 24 May 2019
There are plenty of reasons why you'd want to share files across computers on your network, and Debian makes a perfect file server, whether you're running it from a workstation, dedicated server, or even a Raspberry Pi. Since NFS functionality comes from the kernel, everything is fairly simple to set up and well integrated.
In this tutorial you will learn:
- How to Install the NFS Packages
- How to Configure Your Shares
- How to Connect to a Share

Software Requirements and Conventions Used
Category | Requirements, Conventions or Software Version Used |
---|---|
System | Debian 10 Buster |
Software | NFS Server |
Other | Privileged access to your Linux system as root or via the sudo command. |
Conventions | # - requires given linux commands to be executed with root privileges either directly as a root user or by use of sudo command$ - requires given linux commands to be executed as a regular non-privileged user |
Install the NFS Packages

NFS is super simple to install on Debian. It's connected to the kernel, and it's a common package. You can install everything you need from the main repositories.
$ sudo apt install nfs-kernel-server
Subscribe to Linux Career NEWSLETTER and receive latest Linux news, jobs, career advice and tutorials.
Configure Your Shares
Start by creating a directory that you want to share or choosing an existing one. Make sure that the directory that you choose doesn't have root-only permissions.

Next, open up /etc/exports
with your favorite text editor. This is the file that you'll use to set up your shares. Here, you can configure which directories you're sharing and who can access them. You can also set specific permissions for the shares to further limit access.
In the file, each share gets its own line. That line begins with the location of the share on the server machine. Across from that, you can list the hostname of an accepted client, if is available in the server's hosts file, or an IP or range of IPs. Directly behind the IP address, place the rules for the share in a set of parenthesis. Altogether, it should look something like this:
/media/nfs 192.168.1.0/24(rw,sync,no_subtree_check)
You can include as many shares as you like, provided each has its own line. You can also include more than one hostname or IP in each line and assign them different permissions. For example:
/media/nfs 192.168.1.112(rw,sync,no_subtree_check) 192.168.1.121(ro,sync,no_subtree_check)
In that instance, each of those machines could view and read from the share, but only the computer at 192.168.1.112
could write to it.
There are plenty more options that you can choose from to configure how the server handles you share for each guest. Here is a complete breakdown of what's available:
- ro: specifies that the directory may only be mounted as read only
- rw: grants both read and write permissions on the directory
- no_root_squash: is an extremely dangerous option that allows remote “root” users the same privilege as the “root” user of the host machine
- subtree_check: specifies that, in the case of a directory is exported instead of an entire filesystem, the host should verify the location of files and directories on the host filesystem
- no_subtree_check: specifies that the host should not check the location of the files being accessed withing the host filesystem
- sync: this just ensures that the host keeps any changes uploaded to the shared directory in sync
- async: ignores synchronization checks in favor of increased speed
Once you have everything set up the way you want, save and exit the file. Then, restart the server to load your new exports
configuration.
$ sudo systemctl restart nfs-kernel-server
Connect to a Share
Your share is now accessible from the client machines that you configured in your exports
. Assuming that your clients are Ubuntu or Debian based, you can install the required package to connect with:
$ sudo apt install nfs-common

With that, you'll be able to mount the NFS shares. So, to try it out, pick a directory to mount to, and run the mount
command as root privileges to mount the networked share.
$ sudo mount -t nfs4 192.168.1.110:/media/nfs /media/share
Provided the mount succeeded, you'll be able to access your shared files in the directory where you mounted them.
For a more permanent solution, you can add the share to your client's /etc/fstab
file. The overall syntax looks a lot like the command that you just used to mount your share. Start with the location of the share on your network. Follow that with where the share is to be mounted. The filesystem type here is nfs4. The options are up to you, but using the defaults and allowing user access are pretty common for non-sensitive shares. The end result should look a bit like the example below.
192.168.1.110:/media/nfs /media/share nfs4 defaults,user,exec 0 0
If you aren't certain if the share will always be available on the client, add noauto
to the list of options to prevent your system from trying to mount it automatically.
192.168.1.110:/media/nfs /media/share nfs4 defaults,user,exec,noauto 0 0
Try mounting it on the client using /etc/fstab
.
$ sudo mount -a
Your share should be mounted exactly where you specified.
Conclusion
Your Debian server is now ready to start serving files, and you shouldn't have any trouble setting up the rest of your client machines. Remember that NFS doesn't have much in the way of security, so you're going to need other methods to restrict access to your files, should you choose to share anything more sensitive.
How to Set Up a NFS Server on Debian 10 Buster的更多相关文章
- nfs server的配置 Starting NFS daemon: [FAILED]
总结了一下是nfs server的制作过程:nfs(Network File System)其实就是说,这个机器的硬盘不够了,我要把文件放到别的服务器上去,服务器端的配置如下:首先(1)确保你的机器上 ...
- nfs:server 172.168.1.22 not responding,still trying问题解决方法 平台为RealARM 210平台
nfs:server 172.168.1.22 not responding,still trying问题解决方法 ,平台为RealARM 210平台. 这里的问题是在使用nfs挂载文件系统时遇到的, ...
- windows nfs server for linux
摘要 在开发嵌入式系统的过程中,为了方便调试与文件共享,需要使用到nfs,即网络文件系统,这位板子的调试测试带来了很大的方便.之前在linux系统下开发,与ARM11核心板 linux系统对接共享也比 ...
- Ubuntu 12.04安装NFS server
首先安装nfs-kernel-server apt-get install nfs-kernel-server 然后创建一个目录: mkdir -p /opt/share 并赋予权限777: chmo ...
- nfs:server is not responding,still trying 原因与解决
方案(学自他人) nfs:server is not responding,still trying的解决方法 (2009-04-20 10:20) 方法1 : 我在arm上通过NFS共享文件时出现下 ...
- Linux 文件服务---------- nfs Server
Linux 文件服务nfs (Network file system)#网络文件系统 ---> 远程文件调用samba #文件共享(unix /linux /windows ) ,只能适用于局域 ...
- 树莓派 nfs server安装
安装服务 sudo apt-get install portmap sudo apt-get install nfs-kernel-server 配置: sudo nano /etc/expo ...
- CentOS 7下NFS Server作rootfs时的兼容性问题
最近新装CentOS 7,发现原先CentOS 6.3下可用的一块ARM Dev board不能用了,表现为VFS mount挂载rootfs失败. 使用WireShark发现,服务器对client发 ...
- NFS Server宕机后,NFS Client主机上df命令挂死
方法1: 使用root用户:Oracle@NDMCDB05:~> su -Password: NDMCDB05:~ # cat /etc/mtab /dev/sda2 / reiserfs rw ...
随机推荐
- scrapy2——框架简介和抓取流程
scrapy简介 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中 scrapy的执行流程 Scrapy主要包括 ...
- Linux基础-07-系统的初始化和服务
1. Linux系统引导的顺序 1) Linux系统引导的顺序: 其中,BIOS的工作是检查计算机的硬件设备,如CPU.内存和风扇速度等: MB ...
- 【计数DP】种树
种树 题目描述 事实上,小X邀请两位奆老来的目的远不止是玩斗地主,主要是为了抓来苦力,替他的后花园种树……小X的后花园是环形的,他想在花园周围均匀地种上n棵树,但是奆老花园的土壤当然非同寻常,每个位置 ...
- vue-cli 3.0 端口变5位数
问题原因 : portfinder1.0.22版本导致vue-cli-service servey启动后,服务端口变成了随机端口的问题 解决办法: 删了目录 下的node-modules 然后 执 ...
- VMware Workstation Pro 15 序列号
VMware Workstation Pro 15 序列号: GA70H-8TYE2-H886P-04YZC-YVA84 YG5H2-ANZ0H-M8ERY-TXZZZ-YKRV8 UG5J2-0ME ...
- 利用python爬取王者荣耀英雄皮肤图片
前两天看到同学用python爬下来LOL的皮肤图片,感觉挺有趣的,我也想试试,于是决定来爬一爬王者荣耀的英雄和皮肤图片. 首先,我们找到王者的官网http://pvp.qq.com/web201605 ...
- VBA事件(十七)
在VBA中,要手动更改单元格或单元格值范围时,可以触发事件驱动的编程. 更改事件可能会使事情变得更容易,但您可以非常快速地结束一个完整的格式化页面.VBA中有两种事件 - 工作表事件 工作簿事件 工作 ...
- 了解Scrum敏捷开发过程的优点
Scrum 1. 我们的团队 1.1 团队名称 开发小分队&7号 1.2 团队成员 徐棒 彭康明 刘鹏芝 罗樟 王小莉 胡广健 沈兴艳 1.3 我在团队中位置 需求实现团队(负责将需求模块实现 ...
- element table中使用el-select
效果: 然后看代码: 注意事项: el-select的v-model要和option的value值对应,注意是string还是number类型哦- 此文转载别人
- angular中控制器之间传递参数的方式
在angular中,每个controller(控制器)都会有自己的$scope,通过为这个对象添加属性赋值,就可以将数据传递给模板进行渲染,每个$scope只会在自己控制器内起作用,而有时候需要用到其 ...