Linux网络文件共享服务1(基于FTP文件传输协议)

news2024/11/16 17:43:39

目录

一、了解FTP

1、FTP的相关概念

2、FTP的两种模式及工作原理

2.1 主动模式

2.2 被动模式

3、vsftpd 软件介绍

3.1 基础操作

4、vsftpd服务常见配置

4.1 修改默认命令端口

4.2 主动模式端口

4.3 被动模式端口

4.4 使用当地时间

4.5 匿名用户登录

4.6 匿名用户上传

4.7 匿名用户下载,删除文件

4.8 指明匿名用户的上传文件的默认的所有者和权限

4.9 Linux系统用户

4.10 禁锢系统用户

4.11 日志

4.12 提示信息

4.13 pam模板实现用户访问

4.14 传输速率

二、实验

1、回顾创建本地yum仓库

2、在内网环境下ftp搭建yum仓库

3、 内网环境下http搭建yum仓库


一、了解FTP

1、FTP的相关概念

FTP是FileTransferProtocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输,是典型的C/S架构的应用层协议。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议来传输文件。

FTP服务器默认使用TCP协议的20、21端口与客户端进行通信

  • 20端口用于建立数据连接,并传输文件数据
  • 21端口用于建立控制连接,并传输FTP控制命令

2、FTP的两种模式及工作原理

  • 主动模式:服务器主动发起数据连接 
  • 被动模式:服务器被动等待数据连接 

2.1 主动模式

FTP 客户端连接到FTP 服务器的21号端口,发送用户名和密码,客户端随机开放一个端口,发送PORT 命令到FTP 服务器,告知服务器客户端采用主动模式并开放端口,FTP服务器收到PORT主动模式命令和端口后,通过服务器的20号端口和客户端开放的端口连接,发送数据,原理画图所示,(无论是主动还是被动模式,首先的控制通道都是先建立起来,只是在数据传输模式上的区别)

主动模式有个弊端,客户端必须关闭防火墙,否则不能传输数据。

2.2 被动模式

被动模式工作原理: PASV是Passive的缩写,中文成为被动模式。FTP客户端连接到FTP服务器所监听的21号端口,发送用户名和密码,发送PASV命令到FTP服务器,服务器在本地也随机开放一个端口(1024以上),然后把开放的端口告知客户端,而后客户端再连接到服务器开放的端口进行数据传输,原理如图所示。

注:以上的说明主动和被动,是相对于的FTP server端而判断,如果server去连接client开放的端口,说明是主动的,相反,如果client去连接server开放的端口,则是被动。

3、vsftpd 软件介绍

  • 由 vsftpd 包提供,不再由xinetd管理
  • 用户认证配置文件:/etc/pam.d/vsftpd

用户和其共享目录

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

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

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

3.1 基础操作

①安装服务端

yum install vsftpd -y
#安装 ftp  服务器
systemctl start vsftpd
#开启服务

②客户端连接服务端

[root@localhost ~]#ftp  192.168.91.101
#  ftp 客户端 工具    服务端地址
onnected to 192.168.91.101 (192.168.91.101).
220 (vsFTPd 3.0.2)

Name (192.168.91.101:root): anonymous/ftp   #此处填写用户名  默认使用  ftp  或者匿名用户
                                        #默认没有密码
ftp> help   
#可以使用help  查看帮助
ftp> ls   
#可以使用 ls  查看文件列表   查看的是服务器上的列表    100   显示是的 100  服务器的 文件目录
ftp> ls
227 Entering Passive Mode (192,168,91,101,24,148)
#  Passive  消极被动 默认使用  被动模式
ftp> passive  
#可以人为指定被动主动
ftp> get bigfile
#下载大文件,  后可以  使用  ss  -nt   看到又打开一个通道

4、vsftpd服务常见配置

4.1 修改默认命令端口

vim /etc/vsftpd/vsftpd.conf
#随便一行插入
listen_port=2121 默认值为21

此时客户端连接时需要指明端口号
ftp 192.168.91.101 2121

4.2 主动模式端口

vim /etc/vsftpd/vsftpd.conf

connect_from_port_20=YES 主动模式端口为20
ftp_data_port=20 (默认) 指定主动模式的端口

4.3 被动模式端口

pasv_min_port=6000   0为随机分配,端口范围会影响客户端的并发数
pasv_max_port=6010

4.4 使用当地时间

use_localtime=YES 使用当地时间(默认为NO,使用GMT)
格林威治        +8  

4.5 匿名用户登录

anonymous_enable=YES 支持匿名用户,CentOS8 默认不允许匿名
no_anon_password=YES 匿名用户略过口令检查 , 默认NO

4.6 匿名用户上传

anon_upload_enable=YES 匿名上传,注意:文件系统权限
anon_mkdir_write_enable=YES 匿名建目录

chmod   777   /var/ftp/pub

4.7 匿名用户下载,删除文件

 在 vsftpd 软件中 只可以 下载有 读权限的文件, 没有读权限的文件时不可以直接下载的需要修改下面的选项

anon_world_readable_only=NO  只能下载全部读的文件, 默认YES
anon_umask=0333              指定匿名上传文件的umask,默认0077,注意:0333中的0不能省略
anon_other_write_enable=YES  可删除和修改上传的文件,默认NO

4.8 指明匿名用户的上传文件的默认的所有者和权限

匿名用户上传文件默认的所有者是ftp 用户 是可以修改的

chown_uploads=YES        #默认NO
chown_username=zhangsan
chown_upload_mode=0644

4.9 Linux系统用户

local_enable=YES 是否允许linux用户登录
write_enable=YES 允许linux用户上传文件
local_umask=022 指定系统用户上传文件的默认权限对应umask

4.10 禁锢系统用户

禁锢所有系统用户在家目录中

chroot_local_user=YES #禁锢系统用户,默认NO,即不禁锢

禁锢用户开启白名单和黑名单

chroot_list_enable=YES     #默认是NO
chroot_list_file=/etc/vsftpd/chroot_list   #默认值
  
当chroot_local_user=YES和chroot_list_enable=YES时,则chroot_list中用户不禁锢,
即白名单,在文件里的不禁锢
当chroot_local_user=NO和chroot_list_enable=YES时, 则chroot_list中用户禁锢,
即黑名单,在文件里的 禁锢

4.11 日志

ftp 默认启动日志

#wu-ftp 日志:默认启用
xferlog_enable=YES #启用记录上传下载日志,此为默认值
xferlog_std_format=YES #使用wu-ftp日志格式,此为默认值
xferlog_file=/var/log/xferlog #可自动生成, 此为默认值


#vsftpd日志:默认不启用
dual_log_enable=YES 使用vsftpd日志格式,默认不启用
vsftpd_log_file=/var/log/vsftpd.log 可自动生成, 此为默认值

4.12 提示信息

ftpd_banner="welcome to kgc ftp server"
banner_file=/etc/vsftpd/ftpbanner.txt  

4.13 pam模板实现用户访问

pam_service_name=vsftpd
#pam配置文件:/etc/pam.d/vsftpd

/etc/vsftpd/ftpusers 默认文件中用户拒绝登录,默认是黑名单,但也可以是白名单

4.14 传输速率

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

二、实验

1、回顾创建本地yum仓库

mount /dev/sr0 /mnt          #挂载提供安装包
cd /etc/yum.repos.d          #切换到固定目录
mkdir bak                    #建立备份文件夹
mv *.repo bak                #将所有网络源移走,减少干扰
vim local.repo                #自建本地源的配置文件
 
[local]                       #自定义仓库描述
name=local                  #自定义仓库名
baseurl=file:///mnt          #指明仓库位置
gpgcheck=0                   #不验证安全性(若为1则验证)
 
yum clean all                #清理缓存
yum makecache                #重新建立元数据

2、在内网环境下ftp搭建yum仓库

ftp可以使用内网也可以使用外网,此处演示内网环境, 由于是内网环境,虚拟机全部设为仅主机模式,无法连接外部网络如果想要下载ftp服务则需要搭建一个本地yum仓库

服务端IP地址:192.168.80.111

客户端IP地址:192.168.80.112

①服务器搭建本地yum仓库并下载vsftpd服务

②服务端进入 /var/ftp/目录下添加一个挂载点centos7,将光驱挂载在centos7目录

③服务端关闭防火墙和selinux,开启vsftpd服务

④客户端搭建本地yum仓库并下载vsftpd和ftp服务

⑤客户端检测ftp服务是否正常

⑥客户端搭建yum仓库

 

⑦客户端测试:安装一个服务

3、 内网环境下http搭建yum仓库

由于是内网环境,虚拟机全部设为仅主机模式,无法连接外部网络如果想要下载httpd服务则需要搭建一个本地yum仓库

服务端IP地址为192.168.132.111

客户端IP地址为192.168.132.112

1.服务端搭建本地yum仓库下载httpd服务

2.服务端进入/var/www/html/添加挂载目录centos7,将光驱挂载到centos7目录下(也可以将光驱内的所有文件包复制到centos目录下)

3.服务端关闭防火墙,开启http服务

4.客户端搭建yum仓库

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

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

相关文章

初识XSS漏洞

目录 一、XSS的原理和分类 二、Xss漏洞分类 1. 反射性xss 简单的演示: 2.基于DOM的XSS 简单的演示: 3.存储型XSS ​编辑简单的演示 4、self xss 三、XSS漏洞的危害 四、XSS漏洞的验证 五、XSS漏洞的黑盒测试 六、XSS漏洞的白盒测试 七、XS…

135基于matlab的经验小波变换(EWT)的自适应信号处理方法

基于matlab的经验小波变换(EWT)的自适应信号处理方法.其核心思想是通过对信号的Fourier谱进行自适应划分,建立合适的小波滤波器组来提取信号不同的成分,EWT1D和EWT2D方法。程序已调通,可直接运行。 135matlab信号处理EWT (xiaohongshu.com)

VMware虚拟机忘记密码操作方法

下面已openEuler虚拟机为例: 1、点击重启时,一直按esc(鼠标点击一下,确保鼠标在你的虚拟机里面) 2、一直到进入到如下页面按e键(可能会略有不同) 3、按e键后跳转到如下页面 4、在该页面输入 in…

C++ OJ基础

C OJ基础 在学校学习C程序设计基础课程的OJ题目 缺少第二十题 这里写目录标题 C OJ基础习题练习(一)打印图形习题练习(二)数据的输入输出习题练习(三)函数重载习题练习(四)设计矩形类习题练习(五)定义Tree类习题练习(六)完善职工工资类Salary的设计习题练习(七)设计矩形类recta…

CSS样式学习-基本用法

html超文本传输标签&#xff0c;属性等权重 outline 标签轮廓 <input type"text"> <textarea cols"30" rows"10"></textarea> outline: none; 表示无轮廓 &#xff08;开发时用的比较多&#xff09; CSS 轮廓&#xff…

机器学习-协同过滤

1、协同过滤要解决的问题 协同过滤算法主要用于推荐系统&#xff0c;推荐系统是信息过载所采用的措施&#xff0c;面对海量的数据信息&#xff0c;从中快速推荐出符合用户特点的物品。一些人的“选择恐惧症”、没有明确需求的人。 解决如何从大量信息中找到自己感兴趣的信息。…

【Linux】Linux系统编程——ls命令

【Linux】Linux 系统编程——ls 命令 1.命令概述 ls 命令是 Linux 和其他类 Unix 操作系统中最常用的命令之一。ls 命令是英文单词 list 的缩写&#xff0c;正如 list 的意思&#xff0c;ls 命令用于列出文件系统中的文件和目录。使用此命令&#xff0c;用户可以查看目录中的…

redis之单线程和多线程

目录 1、redis的发展史 2、redis为什么选择单线程&#xff1f; 3、主线程和Io线程是怎么协作完成请求处理的&#xff1f; 4、IO多路复用 5、开启redis多线程 1、redis的发展史 Redis4.0之前是用的单线程&#xff0c;4.0以后逐渐支持多线程 Redis4.0之前一直采用单线程的主…

C++学习笔记——用C++实现树(区别于C)

树是一种非常重要的数据结构&#xff0c;它在计算机科学中的应用非常广泛。在本篇博客中&#xff0c;我们将介绍树的基本概念和C中如何实现树。 目录 一、树的基本概念 2.C中实现树 2.1创建一个树的实例&#xff0c;并向其添加节点 2.2三种遍历方式的实现代码 3.与C语言相…

以前获得的一枚勋章

以前我上大学期间&#xff0c;每周都去合肥南七里买一份广州出版的《足球报》。

数据结构排序二叉树(下)

哎,调了几天深度学习模型,今天来更新排序二叉树 文章目录 前言 一、排序二叉树的结构定义 二、在排序二叉树添加数据 三、定义创建排序二叉树函数 四、查找一棵二叉排序树中的结点x的所在层数 五、删除二叉排序树中T关键字x的节点 六、查找二叉排序树中的所有小于key的关…

QT上位机开发(动画效果)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 不管是仿真&#xff0c;还是对真实环境的一比一模拟&#xff0c;动画都是非常好的一种呈现方式。目前在qt上面&#xff0c;实现动画主要有两种方法…

Github项目推荐--MusicFreeDesktop

项目地址 https://github.com/maotoumao/MusicFreeDesktop 项目简述 这是一个开源的音乐播放器&#xff0c;主要使用typescript编写&#xff0c;页面很漂亮。支持自定义主题和插件化配置音源&#xff0c;是一大亮点。 项目截图

【论文阅读】Latent Consistency Models (LDMs)、LCM-LoRa

文章目录 IntroductionPreliminariesDiffusion ModelsConsistency Models Latent Consistency ModelsConsistency Distillation in the Latent SpaceOne-Stage Guided Distillation by Solving Augmented PF-ODEAccelerating Distillation with Skipping Time StepsLatent Cons…

Rust-数组

数组是一个容器&#xff0c;它在一块连续空间内存中&#xff0c;存储了一系列的同样类型的数据。 数组中元素的占用空间大小必须是编译期确定的。 数组本身所容纳的元素个数也必须是编译期确定的&#xff0c;执行阶段不可变。 如果需要使用变长的容器&#xff0c;可以使用标…

如何使用程序控制微信发送消息

简介 使用杨中科老师的nuget包NetAutoGUI&#xff0c;控制微信给指定用户发送消息&#xff0c;如果想下面视频一样使用此功能用来轰炸朋友&#xff0c;可以直接跳到最后一节&#xff0c;或者直接下载我的打包好的程序集 【免费】控制微信发送消息的程序资源-CSDN文库 微信轰炸…

复合机器人作为一种新型的智能制造装备高效、精准和灵活的生产方式

随着汽车制造业的快速发展&#xff0c;对于高效、精准和灵活的生产方式需求日益增强。复合机器人作为一种新型的智能制造装备&#xff0c;以其独特的优势在汽车制造中发挥着越来越重要的作用。因此&#xff0c;富唯智能顺应时代的发展趋势&#xff0c;研发出了ICR系列的复合机器…

定岗定编:国有电力企业精细化管理改革方案

某发电厂作为神华国华集团下属单位&#xff0c;位于环渤海地区&#xff0c;成立于20世纪90年代&#xff0c;是国家“八五”、“九五”期间重点电力建设项目。在建立之初&#xff0c;公司引入了两台800MW超临界燃煤机组&#xff0c;总投资超过100亿元&#xff0c;近年开展了二期…

RTSP协议实现发送ACC音频数据

一.AAC音频格式介绍 AAC音频格式&#xff1a;Advanced Audio Coding&#xff08;高级音频解码&#xff09;&#xff0c;是一种由MPEG—4标准定义的有损音频压缩格式。音频压缩编码的输出码流&#xff0c;以音频帧的形式存在。每个音频帧包含若干个音频采样的压缩数据&#xff0…

Butler for Mac 菜单栏快速启动工具

Butler介绍 Butler for Mac版是一款Mac菜单栏快速启动工具&#xff0c;主要用于加速您的工作流程并简化您的日常任务。 借助Butler的帮助&#xff0c;您可以控制iTunes&#xff0c;启动应用程序&#xff0c;打开文件和文档&#xff0c;在用户之间切换&#xff0c;搜索网络等等…