【Linux网络】网络文件共享

目录

一、存储类型

二、FTP文件传输协议

2.1 FTP工作原理

2.2 FTP用户类型

2.3 FTP软件使用

2.3.1 服务端软件vsftpd

2.3.2 客户端软件ftp

2.4 FTP的应用

2.4.1 修改端口号

2.4.2 匿名用户的权限

2.4.3 传输速率

三、NFS

3.1 工作原理

3.2 NFS软件介绍

3.3 NFS配置文件格式

3.4 NFS工具

3.5 NFS实操 


一、存储类型

直连式存储:Direct-Attached Storage,简称DAS

存储区域网络:Storage Area Network,简称SAN(可以使用空间,管理也是你来管理)

网络附加存储:Network-Attached Storage,简称NAS(存储和管理空间都在远程

三种存储架构的应用场景

  • DAS虽然比较古老了,但是还是很适用于那些数据量不大,对磁盘访问速度要求较高的中小企业

  • SAN则适用于大型应用或数据库系统,缺点是成本高、较为复杂

  • NAS多适用于文件服务器,用来存储非结构化数据,虽然受限于以太网的速度,但是部署灵活,成本低

二、FTP文件传输协议

2.1 FTP工作原理

主动模式

客户端会随机产生一个端口,主动去连接服务器的 tcp 21 端口,如果服务器是主动模式,则服务器会主动开启 tcp 20 端口和客户端连接,然后传输数据。

被动模式

客户端会随机产生一个端口,主动去连接服务器的 tcp 21 端口,如果服务器是被动模式,则服务器会产生一个随机的端口号,被动等待客户端来连接后再发送数据。

客户端如何知道,服务器随机产生的端口号?
服务端通过 tcp 21 端口,将随机的端口号告知客户端

FTP服务端软件:vsftpd、filezilla

FTP客户端软件:ftp

ftp的根目录为/var/ftp,根目录不可以设有最大权限,否则无法正常使用

2.2 FTP用户类型

  • 匿名用户:ftp,anonymous,对应Linux用户ftp

  • 系统用户:Linux用户,用户/etc/passwd,密码/etc/shadow(超级管理员额外处理)

  • 虚拟用户:特定服务的专用用户,独立的用户/密码文件(不在/etc/passwd中,只是用来登录的)

用户和其共享目录

  • 匿名用户(映射为系统用户ftp )共享文件位置:/var/ftp

  • 系统用户共享文件位置:用户家目录

  • 虚拟用户共享文件位置:为其映射的系统用户的家目录

2.3 FTP软件使用

2.3.1 服务端软件vsftpd

vsftpd可以进行pam认证,用户认证配置文件:/etc/pam.d/vsftpd

配置文件:

/etc/vsftpd/vsftpd.conf

2.3.2 客户端软件ftp

ftp 192.168.254.10    #连接开启vsftpd服务的服务端的IP#连接后的默认工作路径为/var/ftp
#使用默认ftp用户登录后,会创建该用户且家目录在/var/ftp下,可以修改其家目录来切换工作路径

2.4 FTP的应用

2.4.1 修改端口号

服务端:修改默认端口号vim /etc/vsftpd/vsftpd.conf
#随便一行插入
listen_port=2121    #默认为21
systemctl restart vsftpd
#重启服务
ss  -natp | grep 2121
#查看端口
客户端:连接时,需要指定更改的端口号ftp   192.168.254.10   2121#注意,此处不需要加选项-p,直接在IP后写空格+端口号
主动模式端口:connect_from_port_20=YES 主动模式端口为20
ftp_data_port=20 (默认) 指定主动模式的端口
被动模式端口:pasv_min_port=6000   0为随机分配,端口范围会影响客户端的并发数
pasv_max_port=6010同时允许6000 - 6010 共十一台机器访问

2.4.2 匿名用户的权限

vim /etc/vsftpd/vsftpd.conf匿名用户的登录
anonymous_enable=YES 支持匿名用户,CentOS8 默认不允许匿名
no_anon_password=YES 匿名用户略过口令检查 , 默认NO匿名用户的上传
anon_upload_enable=YES 匿名上传,注意:文件系统权限
anon_mkdir_write_enable=YES 匿名建目录anon_world_readable_only=NO 只能下载全部读的文件, 默认YES
anon_umask=0333 指定匿名上传文件的umask,默认077,注意:0333中的0不能省略
anon_other_write_enable=YES 可删除和修改上传的文件,默认NO需要给匿名用户的家目录写权限,并且家目录不能拥有最大权限777
匿名用户下载删除文件vim /etc/vsftpd/vsftpd.conf......
anon_world_readable_only=NO  只能下载全部读的文件, 默认YES
anon_umask=0333              指定匿名上传文件的umask,默认077,注意:0333中的0不能省略anon_other_write_enable=YES  可删除和修改上传的文件,默认NO
指定匿名用户上传文件的默认属主与属组chown_uploads=YES        #默认NO
chown_username=zhangsan
chown_upload_mode=0644

2.4.3 传输速率

anon_max_rate=0 匿名用户的最大传输速率,以字节为单位,比如:1024000表示1MB/s
local_max_rate=0 本地用户的最大传输速率

三、NFS

3.1 工作原理

1. 客户端请求:NFS 的客户端向 NFS 服务器发送文件访问请求。

2. 访问协议:客户端使用 RPC(Remote Procedure Call)协议与服务器通信。客户端会发送特定的 RPC 调用来请求文件操作,如打开文件、读取文件或关闭文件。

3. NFS 服务端:NFS 服务器收到来自客户端的请求,并解析这些请求。服务器根据客户端请求的内容,在本地文件系统上执行相应的操作。

4. 文件传输:当服务器执行文件操作时,它会读取或写入相应的文件或目录。数据通过网络传输,从服务器发送到客户端或从客户端发送到服务器。

5. 返回结果:服务器完成请求后,会将执行结果返回给客户端。这可能包括成功的确认、文件内容、错误信息等。

3.2 NFS软件介绍

软件包:nfs-utils(包括服务器和客户端相关工具,CentOS8 最小化安装时默认没有安装)

相关软件包:rpcbind(必须),tcp_wrappers

Kernel支持:nfs.ko(表示nfs为内核自带的)

端口:2049(nfsd), 其它端口由portmap(111)分配

NFS服务主要进程:

  • rpc.nfsd 最主要的NFS进程,管理客户端是否可登录

  • rpc.mountd 挂载和卸载NFS文件系统,包括权限管理

  • rpc.lockd 非必要,管理文件锁,避免同时写出错

  • rpc.statd 非必要,检查文件一致性,可修复文件

NFS日志及配置文件

日志:/var/lib/nfs/


配置文件:/etc/exports

                  /etc/exports.d/*.exports 

3.3 NFS配置文件格式

共享目录	主机1(权限)		主机2(权限)例子:
/share		*(rw)		#共享/share给任意主机,权限有读写systemctl reload nfs	#重新读取配置文件
exportfs -r 	#重新读取配置文件
exportfs -v		#显示本机的共享情况

权限选项:

默认选项:(ro,sync,root_squash,no_all_squash)
ro,rw 只读和读写
async 异步,数据变化后不立即写磁盘,先写入到缓冲区中,过一段时间再写入磁盘,性能高,安全性低
sync(1.0.0后为默认)同步,数据在请求时立即写入共享存储磁盘,性能低,安全性高
root_squash (默认)远程root映射为nfsnobody,UID为65534,CentOS8 为nobody,CentOS 7以前的版本为nfsnobody
no_root_squash 远程root映射成NFS服务器的root用户
all_squash 所有远程用户(包括root)都变成nfsnobody,CentOS8 为nobody
no_all_squash (默认)保留共享文件的UID和GID
anonuid和anongid 指明匿名用户映射为特定用户UID和组GID,而非nobody,可配合all_squash使用 

3.4 NFS工具

1)exportfs

exportfs -v #查看本机所有NFS共享
exportfs -r #重读配置文件,并共享目录
exportfs -a #输出本机所有共享
exportfs -au #停止本机所有共享

2)showmount

showmount -e 共享主机的IP地址    #查看有哪些共享文件夹可用mount    共享主机IP:/共享文件夹    挂载目录    #挂载

3.5 NFS实操 

服务端IP:192.168.254.10

客户端IP:192.168.254.20


注意:不论是客户端还是服务端,都要记得关闭防火墙!!!

1)服务端配置

yum install -y nfs-utils rpcbind    #安装软件vim /etc/exports    #编写配置文件/share     *(rw)        #将/share作为共享文件夹附有读写权限,并且允许任何IP访问
:wq

systemctl start rpcbindsystemctl start nfsexportfs -v    #查看共享目录的信息

2)客户端配置

yum install -y nfs-utils rpcbind    #安装软件showmount -e 192.168.254.10    #查看服务器共享哪些文件夹mount 192.168.254.10:/share  /mnt    #挂载df -Th  /mnt    #查看挂载信息

永久挂载:vim /etc/fstab类型为nfs        _netdev表示如果无法ping通,则不挂载192.168.254.10:/share  /mnt   nfs   defaults,_netdev    0 0:wqmount -a

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/6712.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业级数据治理学习总结

1. 水在前面 “数据治理”绝对是吹过的牛里面最高大上的题目了,本来想直接以《企业级数据治理》为题来水的,码字前又跑去图书馆借了几本书,翻了几页才发现自己连半桶水都提不起,撑死只能在小屁孩跟前吹吹牛。 好吧,实在…

怎么把jpg图片变成gif?参考这个方法一键制作

Jpg图片如何变成gif图片?Jpg、gif都是最常用的图片格式,想要将这两种格式的图片互相转化的时候要怎么操作呢?想要将jpg图片变成gif方法很简单,只需要使用gif图片制作(https://www.gif5.net/)工具-GIF5工具网…

华为手机ip地址怎么切换

随着移动互联网的普及,IP地址成为了我们手机上网的重要标识。然而,在某些情况下,我们可能需要切换手机的IP地址,以更好地保护个人隐私、访问特定地区的内容或服务,或者出于其他网络需求。华为手机作为市场上的热门品牌…

用队列实现栈——leetcode刷题

题目的要求是用两个队列实现栈,首先我们要考虑队列的特点:先入先出,栈的特点:后入先出,所以我们的目标就是如何让先入栈的成员后出栈,后入栈的成员先出栈。 因为有两个队列,于是我们可以这样想&…

vue3(实现上下无限来往滚动)

一、问题描述 一般在大屏项目中,很常见的效果,就是容器中的内容缓慢地向下移动,直到底部停止,然后快速滚动回顶部,然后接着缓慢滚动到底部。并且在特定的情况下,还需要进行一些小交互,那就还得让…

Leetcode——面试题02.04.分割链表

面试题 02.04. 分割链表 - 力扣(LeetCode) 对于该链表OJ,我们两种大的方向: 1.在原链表上修改;2.创建新链表,遍历原链表。 在原链上进行修改:如果该节点的val小于x则继续往后走,如…

Ubuntu服务器创建新用户及解决新用户登录Access denied问题

目录 Ubuntu服务器创建新用户及解决新用户登录Access denied问题创建账号步骤创建用户只创建用户添加用户到sudo组 允许账号远程连接重启ssh服务 删除账号要删除用户而不删除用户文件如果要删除并且删除用户的家目录和邮件 查询指令查看所有用户查询特定用户账户信息查看用户组…

【Micropython Pitaya Lite教程】key按键与EXTI中断

文章目录 前言一、按键的使用1.1 按键的简介1.2 读取按键的高低电平 二、EXIT外部中断2.1 EXIT外部中断简介2.2 外部中断基础知识2.3 设置外部中断2.4 示例代码 总结 前言 Micropython Pitaya Lite开发板提供了丰富的功能和灵活的扩展性,其中包括了按键&#xff08…

Python 全栈系列241 GFGo Lite迭代

说明 随着整个算网开发逐渐深入,各个组件、微服务的数量、深度在不断增加。由于算网是个人项目,我一直按照MVP(Minimum Viable Product )的原则在推进。由于最初的时候对架构、算法和业务的理解并没有那么深刻,所以MVP的内容还是在不断变化&…

IoTDB 入门教程 基础篇①——时序数据库为什么选IoTDB ?

文章目录 一、前文二、性能排行第一三、完全开源四、数据文件TsFile五、乱序数据高写入六、其他七、参考 一、前文 IoTDB入门教程——导读 关注博主的同学都知道,博主在物联网领域深耕多年。 时序数据库,博主已经用过很多,从最早的InfluxDB&a…

Linux基础之yum和vim

目录 一、软件包管理器yum 1.1 软件包的概念 1.2 软件包的查看 1.3 软件包的安装和删除 二、Linux编辑器之vim 2.1 vim的基本概念 2.2 正常模式(命令模式) 2.3 底行模式 2.4 输入模式 2.5 替换模式 2.6 视图模式 2.7 总结 一、软件包管理器yu…

MATLAB可视化图形绘制详解

图形常见的修饰命令 ①曲线修饰 曲线修饰包括曲线的顔色、线型和标示符号的设置。曲线修饰的命令格式如下。 plot(x,y,option):option定义了曲线的颜色、线型和标示符号。 MATLAB曲线修饰的各种选项见表 举例: x-2*pi:pi/50:2*pi; y1x.^2;y2cos(2*X);y3y1.*y2…

【Python项目】基于DJANGO的【基于语音识别的智能垃圾分类系统】

技术简介:使用Python技术、DJANGO框架、MYSQL数据库等实现。 系统简介:用户们可以在系统上面录入自己的个人信息,录入后还可以对信息进行修改,网站可以对用户上传的音频文件进行识别,然后进行垃圾分类。 背景&#xf…

【竞技宝jjb.lol】LOL:TES顺利晋级却暴露问题

北京时间2024年5月5日,英雄联盟2024MSI季中赛正在如火如荼的进行之中,目前入围赛阶段的比赛已经进入尾声,入围赛实力最强的两支战队T1、TES都已经顺利晋级淘汰赛阶段,在昨天的比赛结束之后,A组的FLY、PSG,B组的FNC、GAM将争夺剩下的两个出线名额。 回顾这次入围赛中,T1和TES的比…

课题学习(二十三)---三轴MEMS加速度计芯片ADXL372

声明:本人水平有限,博客可能存在部分错误的地方,请广大读者谅解并向本人反馈错误。 一、基础配置 测量范围-200g-200g,分辨率为12位, V s 、 V D D I / O V_s、V_{DDI/O} Vs​、VDDI/O​范围为1.6V-3.5V 1.1 引脚配…

u盘格式化后电脑读不出来怎么办?u盘格式化的东西还能恢复吗

随着科技的快速发展,U盘已成为我们日常生活和工作中不可或缺的数据存储工具。然而,有时我们可能会遇到U盘格式化后电脑无法读取的情况,或是误格式化导致重要数据丢失。面对这些问题,我们该如何应对?本文将为您详细解答…

基于 Dockerfile 部署nginx服务(实现HTTPS功能)

目录 前言 1、任务要求 2、建立工作目录并上传nginx安装包 3、创建自签名证书 4、创建 nginx Dockerfile 文件 5、准备并编写 nginx.conf 配置文件 6、准备nginx页面文件 7、工作目录文件结构 8、生成镜像 8、启动容器并开启宿主机端口映射 9、浏览器测试 前言 Ngi…

电子电器架构刷写 --- Bootloader大揭秘

电子电器架构刷写 — Bootloader大揭秘 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自…

c语言刷题——输出图案

1.输出用“*”组成的X形图案 题目:请打印用“*”组成的X形图案 描述: 多组输入,一个整数(2~20),表示输出的行数,也表示组成“X”的反斜线和正斜线的长度。 输出描述: 针对每行输…

大语言模型中的第一性原理:Scaling laws

大语言模型的尺度定律在大语言模型的训练过程中起到了非常重要的作用。即使读者不参与大语言模型的训练过程,但了解大语言模型的尺度定律仍然是很重要的,因为它能帮助我们更好的理解未来大语言模型的发展路径。 1. 什么是尺度定律 尺度定律&#xff08…