解析FTP服务器:从基础知识到vsftpd实战操作


✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭~✨✨

🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。

我是Srlua小谢,在这里我会分享我的知识和经验。🎥

希望在这里,我们能一起探索IT世界的奥妙,提升我们的技能。🔮

记得先点赞👍后阅读哦~ 👏👏

📘📚 所属专栏:Linux

欢迎访问我的主页:Srlua小谢 获取更多信息和资源。✨✨🌙🌙

​​

​​

目录

了解 FTP 服务器

FTP传输文件有两种方式

ASCII传输模式

二进制数据传输模式

 FTP的两种连接模式

主动模式(PORT方式)

被动模式(PASV方式)

 FTP服务的应用

本地用户:

虚拟用户:

匿名用户:

FTP服务器软件vsftpd

实战:vsftpd服务器安装与启动

第一步:安装vsftpd服务器

第二步:配置vsftpd

第三步:设置ftp相关目录

第四步:启动vsftpd

第五步:测试成功


了解 FTP 服务器

FTP简介 FTP以它所使用的协议:文件传输协议(File Transfer Protocol)来命名的。FTP运行在OSI模型(Open System Interconnection model,开放系统互连模型)的应用层,并利用传输控制协议TCP在不同的主机之间提供可靠的数据传输。FTP是传输的所有文件都是通过“三次握手”来实现的,当数据包有丢失时,会重新传输,以保证数据可靠。

FTP传输文件有两种方式

  • ASCII传输模式

  • 二进制数据传输模式

 FTP的两种连接模式

  • 主动模式(PORT方式)

  • 被动模式(PASV方式)

FTP服务的两种连接模式它们的不同在于,FTP服务器端在接到FTP的客户端发送过来的连接请求时,根据其命令类型来做出不同的反应。如果是POST时,服务器端则会主动建立数据传输通道,如果是PASV时,则会通过POST命令通知客户端有数据传送的请求,等待FTP客户机连接后再来传送数据,就是说数据传输是客户发起的,相对服务器就是被动的。默认一般采用的是pasv。

 FTP服务的应用

FTP服务器将服务的对象分为3类用户:本地用户、虚拟用户(Guest用户)和匿名用户(anonymous)。

  • 本地用户:

    • 如果FTP的使用者在远程FTP服务器上拥有账号,该使用者称为本地用户。
  • 虚拟用户:

    • 如果FTP的使用者在远程FTP服务器上拥有账号,且此账号只能用于文件传输服务,则该使用者称为虚拟用户或Guest用户。
  • 匿名用户:

    • 如果FTP的使用者在远程FTP服务器上没有账号,则称此该使用者为匿名用户。

FTP服务器软件vsftpd

vsftpd的名字代表“very secure FTP daemon”, 由Chris Evans开发,是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开发源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征

实战:vsftpd服务器安装与启动

第一步:安装vsftpd服务器

在Ubuntu Linux系统中,利用新立得安装各类软件比较简单,通过[系统]|[系统管理],可打开[新立得软件包管理器],再利用[搜索],查找相应的的软件包后,系统会自动选中有依赖关系的包,一起选中,并确认安装即可完成。

第二步:配置vsftpd

修改vsftpd的配置文件,此类配置文件通常位于 /etc 目录下。

初始:

配置好了

listen=YES # 服务器监听
anonymous_enable=YES # 匿名访问允许
local_enable=YES # 本地主机访问允许
write_enable=YES # 写允许
anon_upload_enable=YES
# 匿名上传允许,默认是NO,嫌麻烦的可以开起来。出了问题我不负责~
anon_mkdir_write_enable=YES # 匿名创建文件夹允许
dirmessage_enable=YES # 进入文件夹允许
xferlog_enable=YES # ftp 日志记录允许
connect_from_port_20=YES # 允许使用20号端口作为数据传送的端口
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem

第三步:设置ftp相关目录

安装完毕后,/srv下会增加一个ftp目录。

第四步:启动vsftpd

或者 /etc/init.d/vsftpd restart

最后就可以通过Firefox浏览器或Windows进行访问了。当然,这只是最简单的ftp的配置,如果要实现更多的功能话,还需要查看ftp的配置。

第五步:测试成功

ubuntu vsftpd 530 Login incorrect

解决方案

1、查看/etc/ftpusers ,确保账号没有在这个文件内。
2、修改/etc/pam.d/vsftpd
将auth required pam_shells.so修改为->auth required pam_nologin.so 即可

 

​​

希望对你有帮助!加油!

若您认为本文内容有益,请不吝赐予赞同并订阅,以便持续接收有价值的信息。衷心感谢您的关注和支持!

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

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

相关文章

组合和外观模式

文章目录 组合模式1.引出组合模式1.院系展示需求2.组合模式基本介绍3.组合模式原理类图4.解决的问题 2.组合模式解决院系展示1.类图2.代码实现1.AbsOrganizationComponent.java 总体抽象类用于存储信息和定义方法2.University.java 第一层,University 可以管理 Coll…

商城系统如何选型?

近日,拼多多发布618百亿补贴活动首周战报。5月19日活动启动一周内,百亿补贴商家参与数量相比去年618首周增长逾90%。其中,农产品商家同比增长83%,数码家电商家同比增长86%,美妆商家同比增长105%。 作为一家成立还不到1…

python中装饰器的用法

最近发现装饰器是一个非常有意思的东西,很高级! 允许你在不修改函数或类的源代码的情况下,为它们添加额外的功能或修改它们的行为。装饰器本质上是一个接受函数作为参数的可调用对象(通常是函数或类),并返…

uaGate SI自动化状态监测和工业4.0解决方案

克劳斯玛菲集团(于2016年被中国化工集团公司收购)为其注塑和反应/挤出系统采用了uaGate SI网关技术并实行了开放且独立于平台的OPC UA标准,以用于设备状态自动化监控,这大大提高了产量并避免了机器停机问题。 自动化状态监测提高了…

文件操作学不懂,小代老师带你深入理解文件操作(下卷)

文件操作学不懂,小代老师带你深入理解文件操作下卷 6. ⽂件的随机读写6.1 fseek6.2 ftell6.3 rewind 7. ⽂件读取结束的判定7.1 被错误使⽤的 feof 8. ⽂件缓冲区 6. ⽂件的随机读写 6.1 fseek 根据⽂件指针的位置和偏移量来定位⽂件指针(⽂件内容的光…

Golang使用讯飞星火AI接口

一、API申请 https://www.bilibili.com/video/BV1Yw411m7Rs/?spm_id_from333.337.search-card.all.click&vd_source707ec8983cc32e6e065d5496a7f79ee6 注册申请,需要在此页面获取appid、apisecret、apikey https://www.xfyun.cn/ https://console.xfyun.cn/ser…

wsl子系统ubuntu20.04 设置docker服务开机自启动

docker在重要性毋庸置疑。掌握虚拟化必备工具。大家个人都会有台式机,那么windows的wsl子系统ubuntu应该都会开启来熟悉linux分布式开发。docker是客服OS限制的有利工具。那就开始准备docker环境吧。 docker安装 docker安装前建议apt-get源换国内源。这个题目太多…

Python----多线程使用

在运行代码的时候,总会想让程序同时运行几个东西,这个时候就需要用到多线程。可以说使用python中的threading库来实现多线程,多线程运行的具体线程数量和每个线程的执行时间由操作系统的调度策略决定。 比如我现在需要同时发起请求&#xff…

2024.6.14KMP算法学习记录

目录 一、学习视频 二、跟练代码 主要是想起到一个记录的作用 一、学习视频 【最浅显易懂的 KMP 算法讲解】 https://www.bilibili.com/video/BV1AY4y157yL/?share_sourcecopy_web&vd_sourcedc0e55cfae3b304619670a78444fd795 二、跟练代码 代码来自视频 # KMP算法…

android用Retrofit进行网络请求和解析

Retrofit 的原理 Retrofit的核心原理包括动态代理与Service Method的构建、注解解析与请求配置、网络请求执行与响应处理等。它是一个类型安全的HTTP客户端,用于Android和Java平台,通过将HTTP API转化为Java接口的方式,简化了网络请求的编写…

VMware Workerstation开启虚拟机后,产生乱码名称日志文件

问题情况 如下图所示,我的虚拟机版本是16.1.2版本,每次在启动虚拟机之后,D盘目录下都会产生一个如图下所示的乱码名称文件。同时,虚拟机文件目录也是杂乱不堪,没有按照一台虚拟机对应一个文件夹的形式存在。 问题处理…

机器,学习没有捷径

1 捷径学习 1.1 你捷径学习了么 深度学习因为其优异的学习能力,已经成为推动人工智能发展当之无愧的主力军。深度学习在NLP和CV等不同的场景下都展现了优异的能力。但深度学习也存在一个与生俱来的问题:捷径学习。 捷径学习中的捷径表示的是一种有缺陷…

Solr 日志系统7.4.0部署和迁移到本地,Core Admin 添加新的core报错

文章目录 Solr部署Docker部署二进制部署 Tips:Solr设置账号密码方法1:(不使用)方法2: Core Admin 添加新的core报错Solr数据迁移 Solr部署 Docker部署 docker run -d -p 8983:8983 --name solr solr:latest docker run -d -p 8983:8983 -v /opt/solr:/…

深入探索热门开源项目:技术与社区的魅力

在开源的世界里,每个项目都如同一个独特的星辰,闪耀着智慧与创意的光芒。今天,我为大家带来几个我近期深入探索并深感魅力的热门开源项目,让我们一起感受它们的技术与社区的独特魅力。 1. Flutter 项目简介: Flutter…

QT QByteArray 的用法

QByteArray 是 Qt 中用于处理原始字节数据的类&#xff0c;类似于标准库中的 std::vector<char> 或 std::string&#xff0c;但具有更多适合Qt框架的功能。它可以用来处理文本和二进制数据&#xff0c;并提供了一些方便的方法进行数据操作。下面是一些常见的用法示例&…

学会python——密码加密(python实例四)

目录 1、认识Python 2、环境与工具 2.1 python环境 2.2 Visual Studio Code编译 3、对输入的字符加密 3.1 代码构思 3.2 代码示例 3.3 运行结果 4、总结 1、认识Python Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强…

Hexapod C-887使用手册 -- 4,5,6

4 - 拆包 小心拆包C-887 根据合同和发货注意比较发货范围的内容&#xff1a; 检查危险符号的内容。如果任何零件损坏或缺失&#xff0c;立即联系客服部门。 保存所有包装材料&#xff0c;以防产品需要返厂。 5 - 安装 本章中 安装一般注意 安装PC软件 确保通风 接地C-…

vue reduce 求和

Number(j / dataCategory.value[i].data.reduce((x,y)>xy) * 100).toFixed(0)

JAVA学习笔记DAY5——Spring_Ioc

文章目录 Bean配置注解方式配置注解配置文件调用组件 注解方法作用域 DI注入注解引用类型自动装配文件结构自动装配实现 基本数据类型DI装配 Bean配置 注解方式配置 类上添加Ioc注解配置文件中告诉SpringIoc容器要检查哪些包 注解仅是一个标记 注解 不同注解仅是为了方便开…

开窗函数MYSQL

在MySQL中&#xff0c;开窗函数允许你对一组行执行计算&#xff0c;并返回每个行的计算结果。这些函数对于执行复杂的分析操作非常有用&#xff0c;比如计算移动平均值、累计总和、行排名等。以下是对MySQL中一些常用开窗函数的细致讲解&#xff1a; ### 1. ROW_NUMBER() ROW_…