《Linux 环境下 NFS 服务安装及配置使用》是一篇参考博客。
/etc/exports是NFS服务的配置文件,文件中的内容格式为:
共享目录的路径 允许访问的NFS客户端(共享权限参数1,共享权限参数2,共享权限参数3...)
共享权限参数罗列如下:
| 参数 | 作用 |
|---|---|
| ro | 只读 |
| rw | 读写 |
| root_squash | 当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户 |
| no_root_squash | 当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员 |
| all_squash | 无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户 |
| sync | 同时将数据写入到内存与硬盘中,保证不丢失数据 |
| async | 优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据 |
根据上边的格式和参数作用,/share 10.0.0.1(rw,sync,all_squash)就是一个例子。需要注意的是共享目录的路径必须存在而且是一个目录,允许访问的NFS客户端与共享权限参数左边的括号之间不能有空格。
我把/share *(rw,sync,all_squash)写入到/etc/exports里边,*表示匹配所有ip。

mkdir /share创建一个目录share, echo "good" >> /share/test.text把good写入到/share/test.text里边。

yum install -y nfs-utils安装。

安装完成如下:

systemctl start nfs.service开启服务,systemctl status nfs.service查看服务状态。

exited出现,参考的一篇博客《NFS客户端挂载nfs服务器共享目录时的报错及解决办法:mount.nfs: access denied by server while mounting》
再打开一个主机,使用showmount -e 172.31.0.180看一下可以挂载的目录,发现报错-bash: showmount: command not found,参考《找不到showmount命令:-bash: showmount: command not found》。使用yum install -y nfs-utils安装nfs-utils。

安装完成如下图:

showmount -e 172.31.0.180就可以看到可以挂载的目录和ip。

mount -t nfs 172.31.0.180:/share /mnt把172.31.0.180的/share挂载到本机的/mnt。ls /mnt就可以看到172.31.0.180的/share里边的文件,cat /mnt/test.txt可以172.31.0.180的/share/test.txt里边的内容。

echo "hello" >> /mnt/file发现报错Permission denied,这个问题明天再写一篇文章进行解释。

此文章为8月Day 24学习笔记,内容来源于极客时间《Linux 实战技能 100 讲》。



















