当前位置: 首页 > news >正文

学习ftp

文章目录

  • 一、FTP介绍
  • 二、两种模式(主动模式和被动模式)
  • 三、FTP配置文件详解
  • 四、实际场景举例
  • 五、黑白名单
  • 六、网络限制

一、FTP介绍

1.FTP(File Transfer Protocol)是一种应用广泛且古老的互联网文件传输协议。
2.主要应用于互联网中文件的双向传输(上传/下载)、文件共享。
3.跨平台 Linux、Windows。
4.FTP是C/S架构,拥有一个客户端和服务端,使用TCP协议作为底层传输协议,提供可靠的数据传输。
5.FTP的默认端口21(命令端口),20(数据端口,主动模式下)默认被动模式下
FTP程序vsftp

二、两种模式(主动模式和被动模式)

★主动模式
在这里插入图片描述
在这里插入图片描述
★被动模式
在这里插入图片描述
在这里插入图片描述

三、FTP配置文件详解

/usr/lib/systemd/system/vsftpd.service #启动脚本
/etc/vsftpd #配置文件的目录
/etc/vsftpd/ftpusers #用户列表文件,黑名单
/etc/vsftpd/user_list #用户列表文件,可黑可白(默认是黑名单)
/etc/vsftpd/vsftpd.conf #配置文件(主配置文件)
/usr/sbin/vsftpd #程序本身(二进制的命令)
/var/ftp #匿名用户的默认数据根目录
/var/ftp/pub #匿名用户的扩展数据目录
[root@localhost vsftpd]# grep -v ^# /etc/vsftpd/vsftpd.conf 
anonymous_enable=YES #支持匿名用户访问
local_enable=YES #支持非匿名用户,普通账号登录,默认进入到自己的家目录
write_enable=YES #写总开关
local_umask=022 #反掩码 file:644,dir:755
dirmessage_enable=YES #启用消息功能
xferlog_enable=YES #开启或关闭xferlog日志
connect_from_port_20=YES #支持主动模式
xferlog_std_format=YES #xferlog的日志格式
listen=NO #ftp服务独立模式下的监听
listen_ipv6=YESpam_service_name=vsftpd #指定认证文件
userlist_enable=YES #启用用户列表
tcp_wrappers=YES #支持tcp_wrappers功能(ftp限速操作)

四、实际场景举例

禁止匿名登录,创建一个kefu用户专用于登录ftp,登录以后不进入家目录,进入/data/ftp目录并且不可以切换目录。

[root@localhost ~]# useradd kefu
[root@localhost ~]# echo 123456 |passwd --stdin kefu
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf 
anonymous_enable=NO #禁止匿名登录
local_enable=YES
local_root=/data/ftp #登录以后的默认目录
chroot_local_user=YES #锁定目录,不让切换
allow_writeable_chroot=YES

无法上传,赋予权限

setfacl -R -m u:kefu:rwx /data/ftp

禁锢目录细节
在这里插入图片描述

五、黑白名单

ftpusers 黑名单文件。
user_list默认是黑名单,user_list从黑名单变成白名单需要在vsftpd.conf配置文件中添加这一行。

userlist_deny=NO

六、网络限制

在这里插入图片描述
查看知否支持tcp_wrappers两种查询方式

  1. /configure --enable-libwrap (如果是源码安装)
  2. ldd /usr/sbin/vsftpd |grep libwrap* (如果是rpm安装)

限制FTP流量

[root@localhost vsftpd]# vim /etc/vsftpd/vsftpd.conf
local_max_rate=0
0表示不限速
local_max_rate=数字+字节

相关文章:

学习ftp

文章目录 一、FTP介绍二、两种模式(主动模式和被动模式)三、FTP配置文件详解四、实际场景举例五、黑白名单六、网络限制 一、FTP介绍 1.FTP(File Transfer Protocol)是一种应用广泛且古老的互联网文件传输协议。 2.主要应用于互联…...

Android笔记(九):Compose组件的状态(一)

在使用Compose定义UI界面时,可以发现界面的变换往往与Compose组件内部的状态相关,当状态值发生变化时,Compose构成的可组合的界面也会刷新发生相应的变化。将在本笔记中将对可组合项的状态的定义、状态提升、状态丢失和状态的保存进行简单介绍…...

3.2. onnx export multi_batch

前言 将onnx bs=1 修改为多batch操作 参考链接: https://www.cnblogs.com/tangjunjun/p/16500116.html https://blog.csdn.net/weixin_43863869/article/details/128638397?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault…...

探索低代码PaaS平台的优势与选择原因

PaaS是一种云产品,它为应用程序的开发和部署提供基础结构。它提供中间件、开发工具和人工智能来创建功能强大的应用程序,大多数PaaS服务都与存储和网络基础架构捆绑在一起,就像基础架构即服务(IaaS)一样,可…...

AD教程(一)工程组成及创建

AD教程(一)工程组成及创建 工程组成 原理图库 绘制电阻模型、芯片模型、电容模型等,即将元件模型绘制出来。 原理图 将绘制的原件模型放置到原理图中,然后再添加连接的导线、网络标号。器件和器件之间的连接关系,在原…...

SAP业务从ECC升级到SAP S/4HANA有哪些变化?有哪些功能得到增强?

SAP在2015年推出了新一代商务套件SAP S/4 HANA。 SAP S/4 HANA (全称SAP Business suite 4 SAP HANA),这款新产品完全构建于目前先进的内存平台SAP HANA 之上,同时采用现代设计理念,通过SAP Fiori 提供精彩的用户体验 (UX)。提供比ECC更强大的功能。S/4h…...

常用conda和pip命令总结

conda 环境相关命令 conda 新建环境命令 conda create -n env_name pythonx.xenv_name 是环境名,自己换成所要创建的虚拟环境的名字 pythonx.x 是版本号,比如3.7,3.8这样 查看conda环境下所有的虚拟环境 conda info -e conda env list两条…...

【计算机网络】路由器的工作原理

文章目录 输入端口处理和基于目的地转发交换结构输出端口处理排队问题参考资料 路由器的四个组件 输入端口(input port):执行物理层功能(input port 左边方框、output port 右边方框)、数据链路层功能(input/output port 中间方框…...

队列概念|循环队列的实现

前言 今天我们将学习循环队列实现,我们首先介绍队列的概念和结构,之后一步步讲解循环队列由来与实现。 一、队列的概念与结构 1、队列的概念 队列: 只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表。队列是…...

监控数据控中的数据表

背景: 在做一个项目的时候,每次代码分析的数据会写入到数据库,目前想实现当数据插入到数据库后,对新插入的数据进行监控解析。当有一个新纪录插入到数据表的时候,数据库可以自动解析新插入的数据记录。 思路如下&…...

进程替换..

1、单进程版 – 最简单的先看看程序替换 现象就是 1、我们用自己的进程封装了内置指令ls,并且代码中execl 后 printf 的after并没有打印出来。 2、谈进程替换的原理 单进程替换基本原理 上面例子中execl的做法非常简单粗暴,要调用ls,那么就把mycom…...

M1安装OpenPLC Editor

下载OpenPLC Editor for macOS.zip文件后,使用tar -zvxf命令解压,然后将"OpenPLC Editor"拖入到"应用程序"文件夹 右键点击"OpenPLC Editor",打开这个""文件,替换为以下内容 #!/bin/bash…...

STM32F10xx 存储器和总线架构

一、系统架构 在小容量、中容量和大容量产品 中,主系统由以下部分构成: 四个驱动单元 : Cotex-M3内核、DCode总线(D-bus)和系统总线(S-bus) 通用DMA1和通用DMA2 四个被动单元 内部SRAM 内部…...

并发编程

什么是并发编程? 并行:在同一个时间节点上,多个线程同时执行(是真正意义上的同时执行) 并发:一个时间段内,多个线程依次执行。 并发编程:在例如买票、抢购、秒杀等等场景下,有大量的请求访问…...

Lauterbach使用指南之RunTime功能

Lauterbach使用指南之RunTime功能 前言 首先,请问大家几个小小问题,你清楚: Lauterbach这个工具是干什么用的吗?在软件运行过程中如何测量两个运行point之间的runtime时间呢?Lauterbach的RunTime功能具体应当如何来操…...

GaussDB数据库管理系统介绍

1.GaussDB的发展 2.GaussDB的生态 内部: 云化自动化方案。通过数据库运行基础设施的云化将DBA(数据库管理员)和运维人员的日常工作 自动化。外部: 采用与数据库周边生态伙伴对接与认证的生态连接融合方案,解决开发者/DBA难获取、应用难对接等…...

使用docker部署lnmp多站点

1. 创建一个 Docker 网络 以便容器可以在同一网络上进行通信 docker network create lnmpnetwork2. 运行 MySQL 容器: 运行 MySQL 容器并将其连接到创建的网络。确保将 MySQL 的端口映射到宿主机上,以便您可以从宿主机访问数据库。 将mysql的配置和数…...

实例详解:Java使用JWT和Redis实现高效单点登录(SSO)

前言 单点登录(Single Sign-On,简称SSO)是一种身份验证和访问控制机制,允许用户使用一组凭证(如登录名和密码)登录到多个应用程序中,而无需为每个应用程序单独进行身份验证。用户只需要登录一次…...

SQL中使用ROLLUP和CUBE函数轻松生成汇总行

在数据分析和报表制作中,通常需要对数据进行汇总和分组,我们常用的就是GROUP BY汇总数据,当我们想按照不同维度汇总时,往往需要编写多个GROUP BY预计,而借助ROLLUP 和 CUBE 函数可以一次性生成子总计和总计行&#xff…...

CentOS 7 安装和配置java环境

1 安装包准备 安装包可以通过下面地址进行版本选择安装: https://www.oracle.com/java/technologies/downloads/#java8 2 正式开始安装 本次分享的安装方法直接通过编辑/etc/profile文件实现java的安装 2.1 新建安装包存放目录 mkdir /java cd /java/ 2.2 解压安…...

沥青生产导向的常减压过程模拟及排产计划优化【附仿真】

✨ 长期致力于沥青生产、多目标优化、遗传算法、排产、换热网络综合、粒子群算法研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 (1)原油实沸点切割与沥青…...

如何10倍提升英语学习效率:词达人自动化助手终极教程

如何10倍提升英语学习效率:词达人自动化助手终极教程 【免费下载链接】cdr 微信词达人,高正确率,高效简洁。支持班级任务及自选任务 项目地址: https://gitcode.com/gh_mirrors/cd/cdr 核心关键词:词达人自动化助手、Pytho…...

3个核心操作:让网络架构可视化变得如此简单

3个核心操作:让网络架构可视化变得如此简单 【免费下载链接】easy-topo vuesvgelement-ui 快捷画出网络拓扑图 项目地址: https://gitcode.com/gh_mirrors/ea/easy-topo 在数字时代的网络管理中,技术文档的可视化呈现已经成为专业沟通的关键。面对…...

开源 AI Agent Harness Engineering 模型与闭源模型的对比

开源 AI Agent Harness Engineering 模型与闭源模型的对比 摘要 如果把AI Agent比作自动驾驶汽车,那么AI Agent Harness就是这辆车的操作系统:它负责管控任务规划、工具调用、记忆管理、容错重试等所有核心逻辑,是Agent落地工程化的核心支撑…...

pointer reference作为顶层参数(三)

一、核心代码#include "array_FIFO.h"//void array_FIFO (dout_t d_o[4], din_t d_i[4], didx_t idx[4]) { void array_FIFO (dout_t d_o[4], din_t *d_i, didx_t idx[4]) { #pragma HLS INTERFACE m_axi depth4 portd_i //#pragma HLS INTERFACE s_axilite register…...

Java智能地址解析终极指南:企业级架构设计与高性能实现方案

Java智能地址解析终极指南:企业级架构设计与高性能实现方案 【免费下载链接】address-parse Java 版智能解析收货地址 项目地址: https://gitcode.com/gh_mirrors/addr/address-parse 面对电商、物流、外卖等系统中复杂多变的地址输入格式,传统的…...

探灵直播2026最新官方正版免费下载 一键转存 永久更新 (看到速转存 资源随时走丢)

下载链接 本文将为您客观介绍《探灵直播》的幕后作者、核心玩法机制,并将其与同类型竞品进行简单的横向对比,带您全面了解这款作品的独特之处。 一、 幕后作者:专注于美少女题材的 qureate 《探灵直播》的开发商 qureate 是一家在日本游戏界…...

2026 年 Haskell 基金会大变革:执行董事卸任、组织重组、董事会人员调整!

执行董事卸任过去几年担任执行董事的 Jos 决定在 2026 年 6 月卸任。Jos 是 Haskell 基金会任职时间最长的执行董事,他花费大量时间与社区互动并提供支持,很多工作都是在幕后默默完成的。Jos 做出了个人牺牲,让 Haskell 基金会度过了艰难时期…...

2026年AI论文网站盘点:12款神器助你高效完成学术写作、润色和降重

随着 AI 技术的持续突破,2026 年的论文写作工具市场已迈入“智能化、精细化、合规化”的新阶段。从本科生的课程论文到研究生的学位论文,再到科研人员的期刊投稿,AI 工具正在深度融入各类学术场景,为不同层次的写作者提供精准支持…...

MySQL 9.0安装教程:免费数据库软件,科研数据管理必备

做科研的朋友,应该都有这个经历。以前用Excel打开数据文件,几秒钟就出来了。现在呢?几十万行的数据表,打开转半天圈,筛选一下直接未响应。保存一次要等好久,生怕电脑死机。不是你的电脑不行,是数…...