s5p4418挂载NFS文件系统
作者:互联网
一、主机环境搭建
首先需要保证客户端和服务器能相互Ping通。
1. 安装NFS server
sudo apt install nfs-kernel-server
2. 创建nfs共享目录
也可以不创建新的目录,直接指定已存在的目录。
sudo mkdir -p /nfs
3.修改nfs配置文件
sudo vim /etc/exports #添加如下内容
/nfs 192.168.3*(rw,sync,no_root_squash,no_subtree_check)
# 192.168.3.* 3网段的所有ip都可以访问
# ro:默认选项,以只读的方式共享 rw:以读写的方式共享
# sync:默认选项,保持数据同步,数据同步写入到内存和硬盘
# async:异步,先将数据写入到内存,在将数据写入到硬盘
# secure:NFS客户端必须使用NFS保留端口(通常是1024以下的端口),默认选项。
# insecure:允许NFS客户端不使用NFS保留端口(通常是1024以上的端口)。
# root_squash:将客户端使用的是root用户时,则映射到NFS服务器的用户为NFS的匿名用户(nfsnobody)
# no_root_squash:将客户端使用的是root用户时,则映射到FNS服务器的用户依然为root用户。
# subtree_check(默认) :若输出目录是一个子目录,则nfs服务器将检查其父目录的权限
# no_subtree_check :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率
# anonuid=<UID>:指定匿名访问用户的本地用户UID,默认为nfsnobody(65534)
# anongid=<GID>:指定匿名访问用户的本地用户组GID,默认为nfsnobody(65534)
client
以root
用户分别创建 root_squash
和 no_root_squash
,其中 no_root_squash
和 root_squash
的效果如下:
ruler@ruler-virtual-machine:/nfs$ ls -alh
total 12K
drwxrwxrwx 2 root root 4.0K 5月 31 22:12 .
drwxr-xr-x 25 root root 4.0K 5月 27 22:16 ..
-rw-r--r-- 1 root root 6 5月 31 22:05 client.txt
-rw-r--r-- 1 root root 0 5月 31 22:11 no_root_squash
-rw-r--r-- 1 nobody nogroup 0 5月 31 22:12 root_squash
exportfs
主要用于管理当前NFS服务器的文件系统,用法如下:
# 显示共享目录
sudo exportfs -v
# 全部挂载或者全部卸载
sudo exportfs -a
# 显示/etc/exportfs中共享的目录
sudo exportfs -s
# 重新挂载,可以不用重启nfs,而让配置文件生效
sudo exportfs -r
4. 启动 nfs server
# 启动NFS服务
sudo /etc/init.d/nfs-kernel-server restart
# 如下提示即启动成功
[ ok ] Restarting nfs-kernel-server (via systemctl): nfs-kernel-server.service.
# 本机验证
showmount -e # 显示NFS服务器的输出清单
Export list for ruler-virtual-machine:
/nfs 192.168.3*
showmount -a #以 host:dir 这样的格式来显示客户主机名和挂载点目录
二、客户端配置
1.挂载nfs
mount -t nfs -o nolock 192.168.3.13:/nfs ./nfs
# 如果没有 nolock选项 终端会阻塞
2.验证挂载
服务器可以使用showmount -a
命令查看客户端挂载信息
ruler@ruler-virtual-machine:/nfs$ showmount -a
All mount points on ruler-virtual-machine:
192.168.3.12:/nfs
至此,客户端就可以访问服务器的/nfs
文件夹了。
三、总结
1.关于NFS文件夹权限问题
实际上就是上面提到的root_squash
和no_root_squash
root_squash
:客户端以root
用户访问nfs
下的文件,在服务器看来都是nfsnobody
用户来访问的,文件的权限就是nfsnobody
用户具有的权限。
no_root_squash
:客户端以root
用户访问nfs
下的文件,在服务器看来还是以root
用户访问,所具有的权限也是root
权限。
标签:s5p4418,NFS,no,squash,nfs,挂载,root,客户端 来源: https://blog.csdn.net/qq_24835087/article/details/117339340