0

0

linux NFS是什么及怎么用

WBOY

WBOY

发布时间:2023-05-12 16:13:13

|

2060人浏览过

|

来源于亿速云

转载

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将被压缩到所指定的用户与组

魔法映像企业网站管理系统
魔法映像企业网站管理系统

技术上面应用了三层结构,AJAX框架,URL重写等基础的开发。并用了动软的代码生成器及数据访问类,加进了一些自己用到的小功能,算是整理了一些自己的操作类。系统设计上面说不出用什么模式,大体设计是后台分两级分类,设置好一级之后,再设置二级并选择栏目类型,如内容,列表,上传文件,新窗口等。这样就可以生成无限多个二级分类,也就是网站栏目。对于扩展性来说,如果有新的需求可以直接加一个栏目类型并新加功能操作

下载

启动服务
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 强制结束)

相关专题

更多
Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

3

2026.01.20

PS使用蒙版相关教程
PS使用蒙版相关教程

本专题整合了ps使用蒙版相关教程,阅读专题下面的文章了解更多详细内容。

55

2026.01.19

java用途介绍
java用途介绍

本专题整合了java用途功能相关介绍,阅读专题下面的文章了解更多详细内容。

67

2026.01.19

java输出数组相关教程
java输出数组相关教程

本专题整合了java输出数组相关教程,阅读专题下面的文章了解更多详细内容。

36

2026.01.19

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

10

2026.01.19

xml格式相关教程
xml格式相关教程

本专题整合了xml格式相关教程汇总,阅读专题下面的文章了解更多详细内容。

11

2026.01.19

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

15

2026.01.19

微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

152

2026.01.18

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

139

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.5万人学习

Git 教程
Git 教程

共21课时 | 2.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号