在深入探讨如何在Ubuntu系统下配置NFS(Network File System)服务之前,我们先来了解一下NFS的基本概念及其在Ubuntu中的重要性。NFS是一种分布式文件系统协议,它允许网络上的计算机共享彼此的文件系统,使得远程访问就像访问本地文件一样方便。在企业环境中,NFS常用于数据共享、备份和应用程序数据的集中存储。 ### Ubuntu下配置NFS服务的详细步骤 #### 步骤一:安装NFS服务 Ubuntu默认并不包含NFS服务,因此首先需要通过APT包管理器来安装NFS内核服务器。打开终端,执行以下命令: ```bash sudo apt-get update sudo apt-get install nfs-kernel-server ``` 这里,`nfs-kernel-server`是NFS服务的主要组件,而`nfs-common`和`portmap`是NFS服务运行所必需的支持工具,通常在安装`nfs-kernel-server`时会自动安装。 #### 步骤二:配置NFS共享目录 NFS服务的配置主要集中在`/etc/exports`文件中。这个文件定义了哪些目录可以被网络上的其他主机共享以及这些主机的访问权限。例如,如果你想共享`/rootfs`目录给所有网络主机,并且允许读写权限,可以添加以下行: ```bash /rootfs *(rw,sync,no_root_squash) ``` 这里的`*(rw,sync,no_root_squash)`参数解释如下: - `rw`:表示读写权限。 - `sync`:表示数据在写入客户端缓存前必须同步到磁盘上。 - `no_root_squash`:表示对于root用户不进行权限压缩,即root用户在网络上的访问权限等同于其在本地系统的权限。 #### 步骤三:重启NFS服务 修改完`/etc/exports`文件后,需要重启NFS服务以使更改生效。这可以通过以下命令完成: ```bash sudo service portmap restart sudo service nfs-kernel-server restart ``` 或者使用systemd下的命令: ```bash sudo systemctl restart portmap.service sudo systemctl restart nfs-kernel-server.service ``` #### 步骤四:测试NFS共享 为了确认NFS服务是否正确配置并工作,可以使用`showmount -e`命令查看共享目录的列表: ```bash showmount -e ``` 接着,在客户端机器上挂载NFS共享目录: ```bash sudo mount -t nfs <server_ip>:/rootfs /mnt ``` 其中,`<server_ip>`替换为提供NFS服务的服务器IP地址。挂载成功后,可以通过`df -h`命令检查`/mnt`目录的挂载情况。 #### 其他配置选项 NFS提供了丰富的配置选项,比如`wdelay`、`no_wdelay`、`hidden`、`subtree_check`、`all_squash`、`root_squash`、`anonuid`和`anongid`等,它们分别控制文件缓存策略、目录隐藏、权限压缩等特性。这些选项可以根据具体需求灵活配置,以满足不同的场景需求。 通过以上步骤,你可以在Ubuntu系统下成功配置并使用NFS服务,实现网络文件共享,提高资源利用效率和数据访问便利性。










在Ubuntu下安装、配置Ubuntu nfs服务的步骤如下:
1、安装Ubuntu nfs
Ubuntu上默认是没有安装Ubuntu nfs服务器的,因此我们首先安装Ubuntu nfs服务器端:$sudo apt-get install nfs-kernel-server
在一些文档中,提出还需要使用apt-get来手动安装nfs的客户端nfs-common,以及端口映射器portmap,但其实这是没有必要的,因为在安装nfs-kernel-server时,apt会自动为我们把它们安装好。
2、配置/etc/exports
Ubuntu nfs允许挂载的目录及权限在文件/etc/exports中进行了定义。
例如,我们要将根目录下的rootfs目录共享出来,那么我们需要在/etc/exports文件末尾添加如下一行:/rootfs *(rw,sync,no_root_squash)
其中:/rootfs是要共享的目录,*代表允许所有的网络段访问,rw是可读写权限,sync是资料同步写入内存和硬盘,no_root_squash是 Ubuntu nfs客户端分享目录使用者的权限,如果客户端使用的是root用户,那么对于该共享目录而言,该客户端就具有root权限。
其它Ubuntu nfs常用的参数有:
ro 只读访问
rw 读写访问sync 所有数据在请求时写入共享
async nfs在写入数据前可以响应请求
secure nfs通过1024以下的安全TCP/IP端口发送
insecure nfs通过1024以上的端口发送
wdelay 如果多个用户要写入nfs目录,则归组写入(默认)
no_wdelay 如果多个用户要写入nfs目录,则立即写入,当使用async时,无需此设置。
hide 在nfs共享目录中不共享其子目录
no_hide 共享nfs目录的子目录
subtree_check 如果共享/usr/bin之类的子目录时,强制nfs检查父目录的权限(默认)
no_subtree_check 和上面相对,不检查父目录权限
all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
no_all_squash 保留共享文件的UID和GID(默认)
root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squas root用户具有根目录的完全管理访问权限
anonuid=xxx 指定nfs服务器/etc/passwd文件中匿名用户的UID


- 粉丝: 4
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- Rudis-Rust资源
- 探索信息化条件下专业课程的教学模式.docx
- 项目管理-项目管理概念(1).ppt
- DyJava-移动应用开发资源
- 开展网络安全宣传周活动总结(优秀10篇).doc
- STC51-单片机开发资源
- C++程序设计教案.ppt
- 商场无线网络建设方案.docx
- 基于51单片机电子温度计台历设计说明.doc
- 电厂网络解决方案.doc
- 河北省2016年上半年PLC与控制技术考试题.docx
- 杭州市工厂物联网和工业互联网试点项目示范项目管理实施细则.doc
- 旋转编码器与PLC的连接.doc
- 系统集成项目管理工程师主要公式详解.ppt
- 虚拟机技术在网络操作系统课程教学中的应用.doc
- vue-vben-admin-Typescript资源


