【Linux网络】网络文件共享

news2024/11/23 22:35:12

目录

一、存储类型

二、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 rpcbind


systemctl start nfs

exportfs -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

:wq


mount -a

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

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

相关文章

企业加密软件有哪些:企业加密软件排行榜|常用分享汇集

在当前的数字化时代,数据的安全性成为了企业运营中至关重要的一环。因此,企业加密软件的需求也日益增长。在这个竞争激烈的市场中,各大加密软件厂商纷纷推出自己的产品,以满足企业的不同需求。 首先是Ping32加密软件。Ping32文件加…

Flutter实战记录-协作开发遇到的问题

一.前言 Android项目使用了混合架构,部分模块使用Flutter进行开发。在电脑A上开发的项目提交到git仓库,电脑B拉取后进行操作,遇到两个问题,特此做一下记录; 二.问题A Settings file ‘D:\xxx\settings.gradle’ line…

Linux初识

1.操作系统的那点事 (1)结论:操作系统是作软硬件管理的软件; (2)计算机是操作系统,设备驱动,硬件三个相互结合发挥作用的,操作系统是用来管理硬件的,常见的…

PMBOK第七版,通往项目管理的新地图|分析2024软考光环PMP第六版培训课程

目录 文明福利 历次升级分析 2PMBOK第七版解读 1、和第六版保持一致:由知识体系指南和项目管理标准2部分构成。 2、区别于第六版的结构性颠覆:12原则、8大绩效域取代5大过程组、10大知识领域。 3PMBOK第七版VS第六版 4PMBOK第七版 就是带领我们寻找…

RabbitMQ是如何保证消息可靠性的?——Java全栈知识(16)

RabbitMQ 的消息不可靠也就是 RabbitMQ 消息丢失只会发生在以下几个方面: 生产者发送消息到 MQ 或者 Exchange 过程中丢失。Exchange 中的消息发送到 MQ 中丢失。消息在 MQ 或者 Exchange 中服务器宕机导致消息丢失。消息被消费者消费的过程中丢失。 大致就分为生…

数仓分层——ODS、DW、ADS

一、什么是数仓分层 数据仓库分层是一种组织和管理数据仓库的结构化方法,它将数据仓库划分为不同的层次或级别,每个层次具有特定的功能和目的。这种分层方法有助于管理数据仓库中的数据流程、数据处理和数据访问,并提供一种清晰的结构来支持…

51-49 CVPR 2024 | OMG:通过混合控制器实现开放词汇的运动生成

23年12月,腾讯联合上海科技大学联合发布OMG:Towards Open-vocabulary Motion Generation via Mixture of Controllers,从零样本开放词汇文本提示中生成引人注目的动作。这款控制器关键思想是将 pretrain-then-finetune 范式运用到文本-运动的…

self-attention 的 CUDA 实现及优化 (上)

self-attention 的 CUDA 实现及优化 (上) 导 读 self-attention 是 Transformer 中最关键、最复杂的部分,也是 Transformer 优化的核心环节。理解 self-attention ,对于深入理解 Transformer 具有关键作用,本篇主要就围绕 self-attention 展…

Linux进程通信-信号

信号概念 信号是 Linux 进程间通信的最古老的方式之一,是事件发生时对进程的通知机制,有时也称之为软件中断,它是在软件层次上对中断机制的一种模拟,是一种异步通信的方式。信号 可以导致一个正在运行的进程被另一个正在运行的异…

解决Pyppeteer下载chromium慢或者失败的问题[INFO] Starting Chromium download.

文章目录 1.进入网址2.选择上面对应自己系统的文件夹进去3. 然后找到自己的python环境中的site-packages中pyppeteer中的chromium_downloader.py文件并打开 在首次使用Pyppeteer时需要下载chromium 1.进入网址 https://registry.npmmirror.com/binary.html?pathchromium-bro…

H5页面跳转去微信的客服页面不需要添加客服就可以直接聊天

我并没有添加客服的微信。但是页面直接跳转了进来。可以直接聊天。 首先你公司要有个企业微信。然后登陆公司的企业微信。搜索框找到应用里面的企业客服 然后你就看到了客服账号的接入连接。代码上直接写个 <div οnclick"window.location.href接入链接粘贴到这里&q…

UDP广播

1、UDP广播 1.1、广播的概念 广播&#xff1a;由一台主机向该主机所在子网内的所有主机发送数据的方式 例如 &#xff1a;192.168.3.103主机发送广播信息&#xff0c;则192.168.3.1~192.168.3.254所有主机都可以接收到数据 广播只能用UDP或原始IP实现&#xff0c;不能用TCP…

DirClass

DirClass 通过分析&#xff0c;发现当接收到DirClass远控指令后&#xff0c;样本将返回指定目录的目录信息&#xff0c;返回数据中的远控指令为0x2。 相关代码截图如下&#xff1a; DelDir 通过分析&#xff0c;发现当接收到DelDir远控指令后&#xff0c;样本将删除指定目录…

46. UE5 RPG 实现角色死亡效果

在上一篇文章中&#xff0c;我们实现了敌人受到攻击后会播放受击动画&#xff0c;并且还给角色设置了受击标签。并在角色受击时&#xff0c;在角色身上挂上受击标签&#xff0c;在c里&#xff0c;如果挂载了此标签&#xff0c;速度将降为0 。 受击有了&#xff0c;接下来我们将…

机器学习之基于Jupyter多种混合模型的糖尿病预测

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 随着现代生活方式的改变&#xff0c;糖尿病的患病率在全球范围内呈现上升趋势。糖尿病是一种慢性代谢…

【R语言从0到精通】-4-回归建模

通过之前的文章&#xff0c;我们已经基本掌握了R语言的基本使用方法&#xff0c;那从本次教程开始&#xff0c;我们开始聚焦如何使用R语言进行回归建模。 4.1 回归简介 回归分析是一种统计学方法&#xff0c;用于研究两个或多个变量之间的相互关系和依赖程度。它可以帮助我们了…

4G工业路由器快递柜应用案例(覆盖所有场景)

快递柜展示图 随着电商的蓬勃发展,快递行业迎来高速增长。为提高快递效率、保障快件安全,智能快递柜应运而生。但由于快递柜部署环境复杂多样,网络接入成为一大难题。传统有线宽带难以覆盖所有场景,而公用WiFi不稳定且存在安全隐患。 星创易联科技有限公司针对这一痛点,推出了…

【智能算法】人类进化优化算法(HEOA)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献5.代码获取 1.背景 2024年&#xff0c;J Lian受到人类进化启发&#xff0c;提出了人类进化优化算法&#xff08;Human Evolutionary Optimization Algorithm, HEOA&#xff09;。 2.算法原理 2.1算法思想 …

Linux提示:mount: 未知的文件系统类型“ntfs”

mount: 未知的文件系统类型“ntfs” 在Linux系统中&#xff0c;如果遇到“mount: 未知的文件系统类型‘ntfs’”的错误&#xff0c;这通常意味着您的系统没有安装支持NTFS文件系统的软件。为了挂载NTFS文件系统&#xff0c;您需要安装ntfs-3g软件包。以下是如何在不同Linux发行…

python学习笔记-02

变量和数据类型 程序中运用变量存储数据&#xff0c;python是一门强类型语言&#xff0c;赋值时不需要指定数据类型。 1.变量的定义 语法格式&#xff1a;变量名数据 a10 print(a) a哈哈 print(a)python中基本数据类型&#xff1a; 数字(num)&#xff1a;int(有符号整数)、lo…