配置vsftpd服务

服务简介

1、FTP协议概览 FTP(File Transfer Protocol)⽂件传输协议,在TCP/IP协议族中属于应⽤层协议,是运⾏于 TCP协议之上是⼀种可靠的传输协议,主要功能⽤于实现⽤户间⽂件分发共享,以及⽹络管理 者在进⾏设备版本升级、⽇志下载和配置保存等业务操作时,均会使⽤到FTP功能。FTP协议 运⾏在TCP连接上,运⾏在UDP协议上的是TFTP协议)

2、FTP(File Transfet Protocol):⽂件传输协议 FTP是⼀种在互联⽹中基于TCP协议端到端的数据传输协议 基于C/S架构,默认使⽤20、21号端⼝ 端⼝20(数据端⼝)⽤于数据传输 端⼝21(命令端⼝)⽤于接收客户端发出的相关FTP命令

3、FTP协议的两种传输模式

主动模式(Port)

主动模式的核⼼是TFP客户端告诉服务端⾃⼰开发那个端⼝作为数据端⼝,然后让服务端来连 接⾃⼰。 主动模式的连接建⽴⼀般是通过⼀些⼏个步骤: 客户端随机打开⼀个本地⼤于1024的端⼝P1 客户端通过端⼝P1向服务器控制端⼝(端⼝21)发起连接请求 服务器进⾏认证成功,请求建⽴ 客户端对本地端⼝P2进⾏监听并向服务器发送“Port P1+1”告诉服务器,客户端的数据监听端 ⼝。 服务器收到端⼝后,从⾃⼰的数据端⼝(端⼝20)发起连接,连接到客户端指定的数据端⼝ P1+1.

被动⽅式(Passive)

由于主动⽅式中,服务端需要主动连客户端,对于客户端的防⽕墙来说,属于外部连接内 部,会出现被阻塞的情况。被动⽅式解决了这个问题。被动连接的核⼼是控制连接请求和数 据连接请求都是由客户端发起。被动⽅式的步骤如下: 客户端任意打开⼤约1024的两个本地端⼝(P1和P1+1) P1端⼝发送请求连接服务器的21端⼝(控制连接端⼝)同时提交PASV命令。 服务器收到请求后,会开启任意⼀个⼤约1024的端⼝P2,然后返回如下格式内容: 227 entering passive mode(h1,h2,h3,h4,p1,p2) 客户端收到服务端返回的内容后,计算出服务端开放的数据连接端⼝ 客户端通过P1+1端⼝向服务端的发送连接请求。进⾏数据传输。

4、vsftpd服务相关参数

 步骤:

安装vsftp服务

[root@admin ~]# yum -y install  vsftpd
正在更新 Subscription Management 软件仓库。
无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。省略。。。。
1/1 安装    : vsftpd-3.0.5-4.el9.x86_64                                                                                                                                            1/1 运行脚本: vsftpd-3.0.5-4.el9.x86_64                                                                                                                                            1/1 验证    : vsftpd-3.0.5-4.el9.x86_64                                                                                                                                            1/1 
已更新安装的产品。已安装:vsftpd-3.0.5-4.el9.x86_64                                                                                                                                                          完毕!
[root@admin ~]# 

创建用户用于登录

[root@admin ~]# useradd  vsftp
[root@admin ~]# echo "1" |passwd --stdin vsftp
更改用户 vsftp 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@admin ~]# 

 重启服务并设置开机自启

[root@admin ~]# systemctl  restart  vsftpd.service 
[root@admin ~]# systemctl  enable  vsftpd.service 
Created symlink /etc/systemd/system/multi-user.target.wants/vsftpd.service → /usr/lib/systemd/system/vsftpd.service.
[root@admin ~]# 

 关闭防火墙和selinux

[root@admin ~]# systemctl  stop firewalld
[root@admin ~]# setenforce  0

 上传下载文件操作方式

1、 help查看可执行操作命令

2、不可对目录操作,可以操作某个目录下的文件

help // 获取帮助

get // 下载

put // 上传

mget // 下传一-批文件

mput // 上传一-批文件

quit // 退出

主配置文件参数

[root@admin ~]# vim /etc/vsftpd/vsftpd.conf
12 anonymous_enable=NO     #关闭匿名⽤户访问16 local_enable=YES    #是否允许本地⽤户访问,yes允许,no不允许 19 write_enable=YES #是否允许本地⽤户有写权限,yes允许,no不允许23 local_umask=022 #本地⽤户上传⽂件默认权限为75537 dirmessage_enable=YES #当⽤户第⼀次进⼊新⽬录时显示消息(了解)40 xferlog_enable=YES #启动xferlog⽇志记录,该⽂件记录传输数据53 #xferlog_file=/var/log/xferlog #⽇志⽂件位置,需删除注释43 connect_from_port_20=YES #启⽤数据传输端⼝49 #chown_username=whoever #改变上传⽂件的属主与属组60 #idle_session_timeout=600 #客户端连接超时时间63 #data_connection_timeout=120 #数据连接超时时间101 chroot_local_user=YES #是否允许本地⽤户切换⽬录,yes不允许,no允许115 listen=NO #是否开启监听IPV4的连接,默认没开启,改为yes126 pam_service_name=vsftpd  #启⽤pam认证的⽂件名称,路径为/etc/pam.d/vsftpd127 userlist_enable=YES #是否启⽤控制名单⽂件,yes启⽤,no不启⽤,⽂件为/etc/vsftpd/user_list,如果启⽤控制名单功能,需要指定该⽂件为⿊名单|⽩名单128 userlist_deny=no #yes拒绝user_list⽂件中⽤户登录ftp服务器(⿊名单),no允许登录(⽩名单)
max_clients=  #限制最⼤并发连接数量

 cmd窗口测试 ftp + 本机IP

 上传一个文件 使用pwd命令查看上传位置

 回到Linux查看是否上传成功

[root@admin vsftp]# pwd
/home/vsftp
[root@admin vsftp]# ls
CentOS7.2.qcow2
[root@admin vsftp]# 

 vsftpd匿名⽤户模式

匿名开放模式:它是⼀种最不安全的认证模式,任何⼈都可以⽆需密码验证⽽直接

打开另一台虚拟机(基础环境以配置完成)  修改名称

[root@AI ~]# hostname client
[root@AI ~]# bash
[root@client ~]# 

 下载客户端连接工具  并测试能否登录

[root@client ~]# yum -y install ftp
正在更新 Subscription Management 软件仓库。
无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。MySQL 8.0 Community Server                                                                                                                           4.2 kB/s | 2.6 kB     00:00    
MySQL Connectors Community                                                                                                                           1.1 kB/s | 2.6 kB     00:02    
MySQL Tools Community                                                                                                                                1.8 kB/s | 2.6 kB     00:01    
local_rehat                                                                                                                                          3.1 MB/s | 3.2 kB     00:00    
BaseOS                                                                                                                                               2.7 MB/s | 2.7 kB     00:00    
软件包 ftp-0.17-89.el9.x86_64 已安装。
依赖关系解决。
无需任何处理。
完毕!
[root@client ~]# ftp 192.168.200.133
Connected to 192.168.200.133 (192.168.200.133).
220 (vsFTPd 3.0.5)
Name (192.168.200.133:root): vsftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> 

 修改服务端配置文件允许匿名用户登录

[root@admin ~]# vim /etc/vsftpd/vsftpd.conf...12 anonymous_enable=yes      #是否允许匿名⽤户访问,yes允许,no不允许...28 anon_upload_enable=YES      #是否允许匿名⽤户上传,yes允许,no不允许...32 anon_mkdir_write_enable=YES  #是否允许匿名⽤户创建⽬录,yes允许,no不允许...33 anon_other_write_enable=yes   #是否允许匿名⽤户写权限,yes允许,no不允许(⼿动添加)

 客户端 使用ftp伪用户进行登录测试

[root@client ~]# ftp 192.168.200.133
Connected to 192.168.200.133 (192.168.200.133).
220 (vsFTPd 3.0.5)
Name (192.168.200.133:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> 

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

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

相关文章

Flutter开发之objectbox

Flutter开发之objectbox 在之前进行iOS开发的时候使用WCDB去进行管理数据库很方便,它支持ORM(Object-Relational Mapping,对象关系映射),用于实现面向对象编程语言里不同类型系统的数据之间的转换。 那么在Flutter开发…

perl:字符串模糊匹配,计算 edit 距离

Levenshtein Distance,通常被称为编辑距离(Edit Distance)。该算法的概念是俄罗斯科学家弗拉基米尔莱文斯坦(Levenshtein Vladimir)于1965年提出。 它是用来计算两个字串之间,通过替换、插入、删除等操作将字符串str1转换成str2所…

作业练习(python)

第一题: cel eval(input()) fah 9 / 5 * cel 32 print("%.1f" % fah) 第二题: radius, length eval(input()) area radius * radius * 3.14159267 volume area * length print("%.2f" % area) print("%.2f" …

MNN介绍、安装与编译:移动端深度学习推理引擎

MNN介绍、安装与编译:移动端深度学习推理引擎 引言第一部分:MNN简介第二部分:MNN的安装第三部分:MNN的编译结语 引言 大家好,这里是程序猿代码之路。在移动设备上实现高效的深度学习模型推理一直是人工智能领域的一个挑…

代码随想录(day10)——栈和队列

Leetcode.1047 删除字符串中所有相邻重复项: 1047. 删除字符串中的所有相邻重复项 - 力扣(LeetCode) 本题可以利用栈的思想进行解答。但是此处并不是真正的去使用一个栈,而是利用来替代栈在本题中的作用。具体如下: …

RHCE-2-chrony服务器

简介 重要性 由于IT系统中,准确的计时非常重要,有很多种原因需要准确计时: 在网络传输中,数据包括和日志需要准确的时间戳 各种应用程序中,如订单信息,交易信息等 都需要准确的时间戳 Linux的两个时钟 硬…

Mysql数据库与PostgreSQL数据库语法比较

目录 前言 模式的概念 模式的主要作用 一、Mysql和PostgreSQL语法比较 1.数据类型差异 1.1整型 1.2浮点数类型 1.3字符串差异 1.4数组类型 2.字符串连接 3.日期和时间函数差异 4.Limit子句的差异 5.NULL值的处理 6.自增主键列 7.变量和参数差异 8.连接查询 9.…

【JavaScript编程】前端实现文件下载

在前端实现文件下载&#xff0c;主要有以下几种常见的方法&#xff1a; 一、使用<a>标签 这种方法是最常见的&#xff0c;只需要在HTML中创建一个<a>标签&#xff0c;并通过JavaScript控制其点击行为&#xff0c;就可以实现文件下载。例如&#xff1a; function…

【Vue】动态样式

内联样式的动态样式 body(){ boxASelect:false, } v-bind:style"{borderColor:boxASelect ? red : #ccc}" <body><header><h1>Vue Dynamic Styling</h1></header><section id"styling"><div class"demo&quo…

2024年MathorCup数学建模思路A题B题C题D题思路分享

文章目录 1 赛题思路2 比赛日期和时间3 组织机构4 建模常见问题类型4.1 分类问题4.2 优化问题4.3 预测问题4.4 评价问题 5 建模资料 1 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 2 比赛日期和时间 报名截止时间&#xff1a;2024…

深入理解MySQL索引:原理、类型

在数据库领域&#xff0c;索引是提高查询效率的重要工具之一。MySQL作为最流行的关系型数据库之一&#xff0c;其索引的使用和优化至关重要。本文将深入探讨MySQL索引的原理、类型以及最佳实践&#xff0c;帮助读者更好地理解和应用索引。 一、索引的基本概念 1. 什么是索引&…

电脑文件轻松管理:按大小归类,高效存储文件

在数字化时代&#xff0c;电脑文件的管理变得至关重要。面对海量的数据和信息&#xff0c;如何高效整理、归类和保存这些文件&#xff0c;成为了我们必须要面对的挑战。今天&#xff0c;我们就来介绍一种简单而实用的文件管理方法——按文件大小归类保存&#xff0c;让您的数据…

再次加深理解Java中的并发编程

目录 一、线程、进程、程序 二、线程状态 三、线程的七大参数 四、lock与synchronized锁机制 一&#xff09;、lock与synchronized锁区别 二&#xff09;、synchronized锁原理 三&#xff09;、Lock锁原理 五、synchronized锁升级原理 一&#xff09;、锁升级基础知识 …

深度思考:雪花算法snowflake分布式id生成原理详解

雪花算法snowflake是一种优秀的分布式ID生成方案&#xff0c;其优点突出&#xff1a;它能生成全局唯一且递增的ID&#xff0c;确保了数据的一致性和准确性&#xff1b;同时&#xff0c;该算法灵活性强&#xff0c;可自定义各部分bit位&#xff0c;满足不同业务场景的需求&#…

EXCEL VBA 多sheet批量转转PDF

EXCEL VBA 多sheet批量转转PDF Sub zhuanpdf() 转pdfApplication.ScreenUpdating False 关闭刷新Dim chaifm As String 拆分名chaifm Sheets("参数表").Cells(75, 2).ValueDim yuanbm As String 原表名Dim ws As Worksheet 定义表格Dim biao As String 表名Dim …

java Web洗衣店管理系统用eclipse定制开发mysql数据库BS模式java编程jdbc

一、源码特点 JSP 洗衣店管理系统是一套完善的web设计系统&#xff0c;对理解JSP java 编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,eclipse开发&#xff0c;数据库为Mysql5.0&#xff0c;使用…

API接口自动化测试框架搭建之需求整理、详细设计和框架设计!

​ 简介&#xff1a; API接口自动化测试框架搭建之需求整理、详细设计和框架设计 1 需求整理 1.1 实现目的 API接口自动化测试&#xff0c;主要针对http接口协议&#xff1b;便于回归测试&#xff1b;线上或线下巡检测试&#xff0c;结合持续集成&#xff0c;及时发现运行环…

数据迁移通用笔记(Minio、Mysql、Mongo、ElasticSearch)

序号更新时间备注12024.03.26初始化笔记22024.03.27细化ES 集群和单节点的描述 文章目录 一、Mino 数据迁移1、mc的基础操作2、镜像复制3、备份复制 二、MySql数据迁移1、利用主从复制2、数据汇出汇入 三、Mongo数据迁移1、利用主从复制2、数据汇出汇入 四、ElasticSearch数据迁…

图像最低三位的可能情况

要求 函数f,函数g,分别针对三个比特位bit1,bit2,bit3进行运算,得到结果为A和B。具体为: A=f(bit1,bit2,bit3) B=g(bit1,bit2,bit3) 能否让函数f和函数g满足让A和B的结果出现四种可能“00”、“01”、“10”、“11”。 实现 可以设计这样的函数f和g,使得它们对于三个比特…

设计模式(8):组合模式

一.组合模式场景 把部分和整体的关系用树形结构来表示&#xff0c;从而使客户端可以使用统一的方式处理部分对象和整体对象。 二.组合模式核心 抽象组件(Component)角色&#xff1a;定义了叶子和容器组件的共同点&#xff1b;叶子组件(Leaf)角色&#xff1a;无子节点&#x…