FTP 文件传输协议

FTP  文件传输协议

作用

用来传输文件的

FTP协议采用的是TCP作为传输协议,

21号端口用来传输FTP控制命令的,

20号端口用来传输文件数据的

FTP传输模式:

主动模式:

FTP服务端接收下载控制命令后,会主动从tcp/20号端口发送数据传输给客户端

被动模式: 

FTP服务端接收下载控制命令后,会开启一个空闲端口被动等待客户端数据传输连接

FTP控制命令:

pwd   ls   get   put   quit

配置:

允许匿名用户访问FTP服务器           anonymous_enable=YES      anno_root=
允许服务端本地用户访问FTP服务器     local_enable=YES          local_root=

user_list文件作为黑名单       userlist_enable=YES    userlist_deny=YES   
user_list文件作为白名单       userlist_enable=YES    userlist_deny=NO 

listen_port=2121      #设置监控端口
max_clients=100       #最大连接数
max_per_ip=5          #每个IP的最大连接数

实验 

[root@localhost ~]# systemctl disable  firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]# setenforce 0
[root@localhost ~]# 
//关闭防火墙和核心防护

 安装软件vsftpd

[root@localhost ~]# yum install -y vsftpd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 vsftpd.x86_64.0.3.0.2-29.el7_9 将被 安装
--> 解决依赖关系完成依赖关系解决==========================================================================================================================================================Package                            架构                               版本                                       源                                 大小
==========================================================================================================================================================
正在安装:vsftpd                             x86_64                             3.0.2-29.el7_9                             local                             173 k事务概要
==========================================================================================================================================================
安装  1 软件包总下载量:173 k
安装大小:353 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction正在安装    : vsftpd-3.0.2-29.el7_9.x86_64                                                                                                          1/1 验证中      : vsftpd-3.0.2-29.el7_9.x86_64                                                                                                          1/1 已安装:vsftpd.x86_64 0:3.0.2-29.el7_9                                                                                                                          完毕!
[root@localhost ~]# 
[root@localhost ~]# cd /mnt/Packages
[root@localhost Packages]# rpm -qpc vsftpd-3.0.2-29.el7_9.x86_64.rpm //查看rpm安装包内包含的配置文件列表
警告:vsftpd-3.0.2-29.el7_9.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
[root@localhost Packages]# 
[root@localhost Packages]# cd /etc/vsftpd/
[root@localhost vsftpd]# ls
ftpusers     vsftpd.conf.bak
user_list    vsftpd_conf_migrate.sh
vsftpd.conf
[root@localhost vsftpd]# 

备份

[root@localhost ~]# 
[root@localhost ~]# cd /etc/vsftpd
[root@localhost vsftpd]# cp vsftpd.conf vsftpd.conf.bak
[root@localhost vsftpd]# 

配置文件 

[root@localhost vsftpd]# 
[root@localhost vsftpd]# vim vsftpd.conf

 

 

[root@localhost vsftpd]# systemctl start vsftpd
[root@localhost vsftpd]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
[root@localhost vsftpd]# 
[root@localhost vsftpd]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      730/rpcbind         
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      1580/dnsmasq        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1180/sshd           
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1181/cupsd          
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1560/master         
tcp        0      0 127.0.0.1:6013          0.0.0.0:*               LISTEN      68349/sshd: root@pt 
tcp6       0      0 :::111                  :::*                    LISTEN      730/rpcbind         
tcp6       0      0 :::21                   :::*                    LISTEN      69322/vsftpd        
tcp6       0      0 :::22                   :::*                    LISTEN      1180/sshd           
tcp6       0      0 ::1:631                 :::*                    LISTEN      1181/cupsd          
tcp6       0      0 ::1:25                  :::*                    LISTEN      1560/master         
tcp6       0      0 ::1:6013                :::*                    LISTEN      68349/sshd: root@pt 
[root@localhost vsftpd]# 

验证

打开一台win10

 

 

 

下载文件 

 指定下载位置 

上传文件 

ftp> put youzi.txt

设置匿名用户

[root@localhost ftp]# cd /etc/vsftpd
[root@localhost vsftpd]# vim vsftpd.conf

[root@localhost vsftpd]# useradd cywl
[root@localhost vsftpd]# echo 123456 |passwd --stdin cywl
更改用户 cywl 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost vsftpd]# 
[root@localhost vsftpd]# useradd lty
[root@localhost vsftpd]# echo 123456 |passwd --stdin lty
更改用户 lty 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost vsftpd]# 
[root@localhost vsftpd]# systemctl restart vsftpd  //重启
[root@localhost vsftpd]#

匿名用户登录失败 

非匿名用户登录成功

C:\Users\Lin\Desktop>ftp 20.0.0.20
连接到 20.0.0.20。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(20.0.0.20:(none)): cywl
331 Please specify the password.
密码:
230 Login successful.
ftp> pwd  //查询当前位置
257 "/home/cywl"
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
226 Directory send OK.
ftp> put youzi.txt  //上传文件
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp: 发送 11 字节,用时 0.00秒 11000.00千字节/秒。
ftp>

图形化界面登录

白名单黑名单 

[root@localhost vsftpd]# vim vsftpd.conf
[root@localhost vsftpd]# 

[root@localhost vsftpd]# vim user_list
[root@localhost vsftpd]# 

 

白名单 

[root@localhost vsftpd]# vim vsftpd.conf
[root@localhost vsftpd]# 

 

 

[root@localhost vsftpd]# vim user_list
[root@localhost vsftpd]# 

 

[root@localhost vsftpd]# systemctl restart vsftpd
[root@localhost vsftpd]# 

名单内可以登录 

 

名单外不可以登录

  

黑名单 

[root@localhost vsftpd]# vim vsftpd.conf
[root@localhost vsftpd]# 

[root@localhost vsftpd]# systemctl restart vsftpd
[root@localhost vsftpd]# 

 名单内不可以登录

名单内可以登录 

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

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

相关文章

后端学习记录~~JavaSE篇(Module08-异常 上 )

总览: Java概述: 思维导图文件在本人个人主页上-----资源模块 资源详情(免费下载):Java学习思维导图异常篇资源-CSDN文库https://download.csdn.net/download/m0_61589682/89238330 整体展示:

Spring IOC(二)

1. Bean的定义与获取 1.1 定义Bean 在Spring 中定义Bean的方式主要有三种&#xff1a; 1、基于XML配置文件的方式&#xff08;了解&#xff09;&#xff1a;通常会在配置文件中使用<bean>标签来定义Bean&#xff0c;并设置Bean的属性、依赖关系等信息。 2、基于注解的方…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-6.5, 汇编 led.s,第一次点亮LED灯

前言&#xff1a; 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM&#xff08;MX6U&#xff09;裸机篇”视频的学习笔记&#xff0c;在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

kaggle(4) Regression with an Abalone Dataset 鲍鱼数据集的回归

kaggle&#xff08;4&#xff09; Regression with an Abalone Dataset 鲍鱼数据集的回归 import pandas as pd import numpy as npimport xgboost import lightgbm import optuna import catboostfrom sklearn.model_selection import train_test_split from sklearn.metrics …

GMSSL编译iOS

一、GMSSL-2.x 国密SDK源码下载&#xff0c;对GMSSL库进行编译生成对应的静态库。执行如下命令&#xff1a; cd到SDK源码目录 cd /Users/xxxx/Downloads/GMSSLV2-master查看SDK适用环境 ./config上图中错误解决方法 使用文本编辑器打开SDK目录下Configure、test/build.info、…

Android 学习 鸿蒙HarmonyOS 4.0 第二天(项目结构认识)

项目结构认识 和 了解&#xff1a; 工程目录下的结构如下&#xff1a; 首先能看到有两个.开头的文件&#xff0c;分别是.hvigor 和 .idea。这两个文件夹都是与构建有关系的&#xff0c; 如果你开发过安卓app&#xff0c;构建完会生成一个apk安装包&#xff0c;鸿蒙则是生成hap…

【Oracle】python调取oracle数据教程

目录 &#xff08;1&#xff09;安装python和相关库 1.python的下载和安装 2.python安装cx_Oracle库和pandas库 3.本机安装instantclient 数据库客户端 先安装instantclient 然后设置环境变量 &#xff08;2&#xff09;准备好连接Oracle数据库地址等五项信息 &#xf…

Linux(Centos 7)环境下安装wget,并且更换阿里云镜像

Linux(Centos 7) Minimal 安装后&#xff0c;由于没有预装wget&#xff0c;在使用wget命令去下载安装相关应用时&#xff0c;提示&#xff1a;“wget: command not found” 先在Linux服务器窗口中&#xff0c;输入如下命令&#xff0c;检查Linux服务器有没有安装过wget。 rpm -…

deepflow grafana plugin 编译问题解决

修改tsconfig.js 增加"noImplicitAny": false&#xff0c;解决代码类型没有指定&#xff0c;显示Any 错误 To solve the error, explicitly set the parameters type to any, use a more specific type or set noImplicitAny to false in tsconfig.json. https://b…

【大学生电子竞赛题目分析】——2023年H题《信号分离装置》

今年的大赛已临近落幕&#xff0c;笔者打算陆续对几个熟悉领域的题目作一番分析与讨论&#xff0c;今天首先分析H题。 网上有一些关于H题的分析&#xff0c;许多都是针对盲信号分析的。然而本题具有明确的信号频率范围&#xff0c;明确的信号可能频率&#xff0c;明确的信号波…

Jmeter Beanshell 设置全局变量

//获取token import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONArray; import java.util.*; import org.apache.jmeter.util.JMeterUtils; //获取可上机机器 String response prev.getResponseDataAsString(); JSONObject responseObect JSONObjec…

什么是跨域? 出现原因及解决方法

什么是跨域? 出现原因及解决方法 什么是跨域 跨域&#xff1a;浏览器对于javascript的同源策略的限制 。 同源政策的目的&#xff0c;是为了保证用户信息的安全&#xff0c;防止恶意的网站窃取数据。 设想这样一种情况&#xff1a;A 网站是一家银行&#xff0c;用户登录以后…

K8S哲学 - statefulSet 灰度发布

kubectl get - 获取资源及配置文件 kubectl get resource 【resourceName -oyaml】 kubectl create - 指定镜像创建或者 指定文件创建 kubectl create resource 【resourceName】 --imagemyImage 【-f my.yaml】 kubectl delete kubectl describe resource resourc…

怎么把试卷答案去掉再打印出来?

在学习中&#xff0c;试卷无疑是检验学习成果的重要工具。然而&#xff0c;当我们想重新练习这些试卷&#xff0c;加深对知识点的理解和记忆时&#xff0c;答案的存在往往会成为他们复习路上的“绊脚石”。那么&#xff0c;有没有一种方法可以轻松去除试卷上的答案&#xff0c;…

亚马逊云科技AWS将推出数据工程师全新认证(有资料)

AWS认证体系最近更新&#xff0c;在原有12张的基础上&#xff0c;将在2023年11月27日添加第13张&#xff0c;数据工程师助理级认证(Data Engineer Associate)&#xff0c;并且在2024/1/12前半价(省75刀&#xff1d;544人民币。 原有的数据分析专家级认证(Data Analytics Specia…

qt-C++笔记之滑动条QSlider和QProgressBar进度条

qt-C笔记之滑动条QSlider和QProgressBar进度条 —— 2024-04-28 杭州 本例来自《Qt6 C开发指南》 文章目录 qt-C笔记之滑动条QSlider和QProgressBar进度条1.运行2.阅读笔记3.文件结构4.samp4_06.pro5.main.cpp6.widget.h7.widget.cpp8.widget.ui 1.运行 2.阅读笔记 3.文件结构…

RuoYi-Vue-Plus (SPEL 表达式)

RuoYi-Vue-Plus 中SPEL使用 DataScopeType 枚举类中&#xff1a; /*** 部门数据权限*/DEPT("3", " #{#deptName} #{#user.deptId} ", " 1 0 "), PlusDataPermissionHandler 拦截器中定义了解析器&#xff1a; buildDataFilter 方法中根据注解的…

[LitCTF 2023]Ping、[SWPUCTF 2021 新生赛]error、[NSSCTF 2022 Spring Recruit]babyphp

[LitCTF 2023]Ping 尝试ping一下127.0.0.1成功了&#xff0c;但要查看根目录时提示只能输入IP 查看源代码&#xff0c;这段JavaScript代码定义了一个名为check_ip的函数&#xff0c;用于验证输入是否为有效的IPv4地址。并且使用正则表达式re来匹配IPv4地址的格式。 对于这种写…

机器学习:基于Sklearn、XGBoost框架,使用逻辑回归、支持向量机和XGBClassifier预测帕金森病

前言 系列专栏&#xff1a;机器学习&#xff1a;高级应用与实践【项目实战100】【2024】✨︎ 在本专栏中不仅包含一些适合初学者的最新机器学习项目&#xff0c;每个项目都处理一组不同的问题&#xff0c;包括监督和无监督学习、分类、回归和聚类&#xff0c;而且涉及创建深度学…

【已解决】Python Selenium chromedriver Pycharm闪退的问题

概要 根据不同的业务场景需求&#xff0c;有时我们难免会使用程序来打开浏览器进行访问。本文在pycharm中使用selenium打开chromedriver出现闪退问题&#xff0c;根据不断尝试&#xff0c;最终找到的问题根本是版本问题。 代码如下 # (1) 导入selenium from selenium import …