解析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.xdnf.cn/news/1451501.html

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

相关文章

另辟蹊径的终端防病毒

在数字时代的浪潮中,网络安全问题愈发凸显,防病毒成为了保护信息安全的重要一环。而白名单作为一种有效的安全策略,在防病毒方面发挥着不可或缺的作用。 首先,我们需要明确白名单的概念。白名单是一种管理和安全实践,用…

【leetcode--单词规律】

题目要求: 跟上一个字符串的思路一致,只是要进行单词的拆分,用.split()函数即可。 class Solution:def wordPattern(self, pattern: str, s: str) -> bool:word s.split()if(len(pattern) ! len(word)):return Falsereturn len(set(patt…

吴恩达2022机器学习专项课程C2W3:2.25 理解方差和偏差(诊断方差偏差正则化偏差方案搭建性能学习曲线)

目录 引言名词替代影响模型偏差和方差的因素1.多项式阶数2.正则化参数 判断是否有高偏差或高方差1.方法一:建立性能基准水平2.方法二:建立学习曲线 总结 引言 机器学习系统开发的典型流程是从一个想法开始,然后训练模型。初次训练的结果通常…

【docker】Linux安装最新版Docker完整教程

这里写目录标题 一、安装前准备工作1.1、安装依赖包1.2、设置阿里云镜像源 二、安装Docker2.1、docker-ce安装2.2、启动docker2.3、启动docker并设置开机自启 三、 优化docker配置3.1、访问阿里云官方镜像加速器地址3.2、设置阿里云加速地址 一、安装前准备工作 1.1、安装依赖…

资源分享—2021版乡级制图规范符号库

汇总整理超图平台软件相关的各类资源(包括但不限于符号库、地图模板、地理处理模型等),助力项目的高效制图、提高数据生产效率等业务。 本次分享新版国土空间规划【2021版乡级制图规范符号库】,提供SuperMap格式符号库下载。 符…

信号与系统实验MATLAB-实验1-信号的MATLAB表示及信号运算

实验1-信号的MATLAB表示及信号运算 一、实验目的 1、掌握MATLAB的使用; 2、掌握MATLAB生成信号波形; 3、掌握MATLAB分析常用连续信号; 4、掌握信号运算的MATLAB实现。 二、实验内容 编写程序实现下列常用函数,并显示波形。…

python返回每个数 青少年编程电子学会python编程等级考试三级真题解析2021年9月

python返回每个数 2021年9月 python编程等级考试级编程题 一、题目要求 1、编程实现 给定一个整数 num,从1到 num 按照下面的规则返回每个数! 如果这个数被 3 整除,返回 Apple。 如果这个数被 5 整除,返回Pie’。 如果这个数能同时被 3 和…

竟然与 package-lock.json 更新有关!部分用户 H5 页面白屏问题!

一.问题 1 场景 现象 接到部分用户反馈进入xxx H5 页面空白; 研发测日志里问题用户的线上页面URL地址可以正常访问,没有复现问题!!! 定位问题 监控平台和客户端日志报错: SyntaxError: Unexpected toke…

百递云·API开放平台「智能地址解析API」助力地址录入标准化

地址信息的正确录入,是保证后续物流配送环节能够顺畅运行的必备前提,错误、不规范的收寄地址将会产生许多困扰甚至造成损失。 ✦地址信息通常包含国家、省、城市、街道、楼宇、门牌号等多个部分,较为复杂,填写时稍有疏忽就会出现…

数据结构:手撕代码——顺序表

目录 1.线性表 2.顺序表 2.1顺序表的概念 2.2动态顺序表实现 2.2-1 动态顺序表实现思路 2.2-2 动态顺序表的初始化 2.2-3动态顺序表的插入 检查空间 尾插 头插 中间插入 2.2-4 动态顺序表的删除 尾删 头删 中间删除 2.2. 5 动态顺序表查找与打印、销毁 查找 …

使用fvm切换flutter版本

切换flutter版本 下载fvm 1、dart pub global activate fvm dart下载fvm 2、warning中获取下载本地的地址 3、添加用户变量path: 下载地址 终端查看fvm版本 fvm --version 4、指定fvm文件缓存地址 fvm config --cache-path C:\src\fvm(自定义地址&…

使用Zed 实现测距

目录 1. 导入相关库 2. 相机初始化设置 3. 获取中心点深度数据 4. 计算中心点深度值 5. 完整代码 此代码基于官方代码基础上进行改写,主要是获取zed相机深度画面中心点的深度值,为yolo测距打基础。 Zed相机是由Stereolabs公司开发的一种先进的立体视觉相机。这种相机专…

LinkFinder使用记录

在Windows上使用linkfinder报出如下错误: 解决办法: 进入linkfinder.py中将如下代码注释掉即可~ print("URL to access output: file://%s" % os.path.abspath(args.output))

使用Leaflet库创建交互式地图:技术解析与实践

一:引言 在现代Web开发中,地图可视化已成为许多项目不可或缺的一部分。Leaflet是一个开源的JavaScript库,用于在Web页面上创建交互式地图。它简单易用、轻量级且高度可定制,使得开发者能够快速地创建出具有丰富功能的地图应用。本…

618有什么值得推荐?2024数码产品推荐,轻松拿捏选购!

随着618购物节即将来临,你是否已被琳琅满目的商品所吸引,难以抉择?团团特意为你筛选出一系列经过亲身试验的优质好物,旨在帮助你在这场购物盛宴中迅速锁定心仪之选。这些推荐不仅走在时尚的前沿,更能满足你日常生活的各…

java:spring使用【XXXPostProcessor】添加bean定义,修改bean定义、代理bean

# 项目代码资源&#xff1a; 可能还在审核中&#xff0c;请等待。。。 https://download.csdn.net/download/chenhz2284/89433361 # 项目代码 【pom.xml】 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-start…

GaussDB技术解读——GaussDB架构介绍(三)

目录 9 智能关键技术方案 智能关键技术一&#xff1a;自治运维系统 智能关键技术二&#xff1a;库内AI引擎 智能关键技术三&#xff1a;智能优化器 10 驱动接口关键技术方案 GaussDB架构介绍&#xff08;二&#xff09;从数据持久化存取层(DataNode)关键技术方案、全局事…

list容器的基本使用

目录 前言一&#xff0c;list的介绍二&#xff0c;list的基本使用2.1 list的构造2.2 list迭代器的使用2.3 list的头插&#xff0c;头删&#xff0c;尾插和尾删2.4 list的插入和删除2.5 list 的 resize/swap/clear 前言 list中的接口比较多&#xff0c;与string和vector类似&am…

全面解说Facebook代投菲律宾真金游戏pwa广告全流程

全面解说Facebook代投菲律宾真金游戏pwa广告全流程 随着数字营销的不断发展&#xff0c;社交媒体平台如Facebook已成为广告主们争相投放的热门渠道。对于希望拓展菲律宾市场的真金游戏企业来说&#xff0c;了解并掌握在Facebook上投放广告的具体流程显得尤为重要。本文将详细介…

SQL SERVER触发器记录指定的几笔资料更新记录

1.目的 为了记录数据库表中资料数据动态的变更&#xff0c;实时动态且方便调整记录的范围。 2.分析 需求:记录UPDATE 修改的记录 if exists(select 1 from inserted) and exists(select 1 from deleted) &#xff1a;修改if (exists (select 1 from inserted) and n…