linux NFS是什么及怎么用

67次阅读
没有评论

共计 1986 个字符,预计需要花费 5 分钟才能阅读完成。

本文丸趣 TV 小编为大家详细介绍“linux NFS 是什么及怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“linux NFS 是什么及怎么用”文章能帮助大家解决疑惑,下面跟着丸趣 TV 小编的思路慢慢深入,一起来学习新知识吧。

nfs,是 network file system 的简写,即网络文件系统。网络文件系统是 freebsd 支持的文件系统中的一种,也被称为 nfs. nfs 允许一个系统在网络上与他人共享目录和文件。通过使用 nfs,用户和程序可以像访问本地文件一样访问远端系统上的文件。

nfs 基于 rpc 协议,nfs 本身只是起到共享的作用而和客户端进行连接和数据传输则是 rpc 协议的功能

nfs 主要通过两个 daemon 来进行控制:
1.rpc.nfsd  ——- 它用来控制客户端是否可以连接到,nfs server
2.rpc.mountd—- 它用来控制客户端连接后是否有权限对文件进行操作,主要是依据 /etc/exports 文件的设置

启用 nfs 需要启用 portmap 和 nfs-utils
1.portmap 主要用来控制客户端连接时请求的端口
2.nfs-utils 是 rpc.nfsd、rpc.mountd 的执行文件

/etc/exports  nfs 服务的主要配置文件
/usr/sbin/exportfs  nfs 服务的管理命令
/usr/sbin/showmount  客户端的查看命令
/var/lib/nfs/xtab  记录曾经登录过的客户信息

/etc/exports 文件设置格式
【分享的目录】ip 或者主机(参数 1. 参数 2) ip 或者主机(参数 3,参数 4)
参数主要有以下几个
rw:读写
ro:只读
no_root_squash: 客户端登陆者如果为 root,则登录共享目录后具有 root 权限
root_squash:root 登录后身份被压缩为 nfsnobody(默认情况下)
all_squash:所有用户登录后身份被压缩为 nfsnobody(默认下)
anonuid:如不想让用户登录后被压缩为 nfsnobody 用户可以更改此项
anongid:同上(这个是组)
sync:数据同步写入硬盘
async:数据先存储到内存

关于权限的分析

1. 客户端连接时候,对普通用户的检查,no.1 如果明确设定了普通用户被压缩的身份,那么此时客户端用户的身份转换为指定用户,no.2 如果 nfs server 上面有同名用户,那么此时客户端登录账户的身份转换为 nfs server 上面的同名用户,no.3 如果没有明确指定,也没有同名用户,那么此时 用户身份被压缩成 nfsnobody
2. 客户端连接的时候,对 root 的检查,no.1 如果设置 no_root_squash,那么此时 root 用户的身份被压缩为 nfs server 上面的 root,no.2 如果设置了 all_squash、anonuid、anongid,此时 root 身份被压缩为指定用户,no.3 如果没有明确指定,此时 root 用户被压缩为 nfsnobody,no.4 如果同时指定 no_root_squash 与 all_squash 用户将被压缩为 nfsnobody,如果设置了 anonuid、anongid 将被压缩到所指定的用户与组

启动服务
service portmap start or /etc/rc.d/init.d/portmap start
service nfs start  or  /etc/rc.d/init.d/nfs start

exportfs 命令用法
-a 全部挂载或卸载
-r 重新读取 /etc/exports 中的信息,并同步更新 /etc/exports、/var/lib/nfs/xtab
-u 卸载单一目录(和 - a 一起使用为卸载所有 /etc/exports 文件中的目录)
-v 在屏幕输出详细信息

showmount 命令用法
-a  显示已经于客户端连接上的目录信息
-e  ip 或者 hostname 显示此 ip 地址分享出来的目录

利用 netstat 可以查看出 nfs 服务开启了很多端口其中 nfs 开启的是 2049 portmap 开启的是 111,其余则是 rpc 开启的
利用 rpcinfo -p 可以查看出 rpc 开启的端口所提供的程序有哪些
使用 mount -t nfs ip(hostname):共享目录   挂载点 方式,可以完成挂载
最后注意两点,虽然通过权限设置可以让普通用户访问,但是挂载的时候只默认情况下只有 root 可以去挂载(普通用户可以执行 sudo)

nfs server 关机的时候一点要确保 nfs 服务关闭,没有客户端处于连接状态!!通过 showmount -a 可以查看,如果有的话用 kill killall pkill 来结束,(-9 强制结束)

读到这里,这篇“linux NFS 是什么及怎么用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注丸趣 TV 行业资讯频道。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-14发表,共计1986字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)