其他分享
首页 > 其他分享> > s5p4418挂载NFS文件系统

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)

clientroot用户分别创建 root_squashno_root_squash,其中 no_root_squashroot_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_squashno_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