vsftp

linux搭建并使用FTP服务器(vsftp)& linux如何配置ftp服务器,一文详解 阅读详情

一、概述

FTP是file Transfer Protocoll文件传输下ieyi,用于Internet上的文件的双向传输。因ftp是明文传输,没有受到保护,所以具有一定危险性。

VSFTP是一个基于GPL发布的类unix系统上使用的FTP服务器软件。为了解决ftp传输安全性问题的,依然明文,未加密。

二、安全特性

1.vsftp程序的运行着一般是普通用户,降低了相对应进程的权限,提高了安全性。
2.任何需要执行较高权限的执行全都需要上层程序的许可。
3.ftp所需要使用的绝大多数命令都被整合到vsftp中,基本不需要系统额外提供命令。
4.拥有chroot功能,可以改变用户的根目录,限制用户职能再自己的家目录。

三、vsftp连接类型

控制连接(持续连接)—>TCP 21(命令信道)—>用户收发FTP命令

数据连接(按需连接)—>TCP 20(数据信道)—>用于上传下载数据

四、VSFTP工作模式

两种模式(主动模式port模式;被动模式Passive模式)

主动模式(port,默认)

ftp客户端ftp服务器1.登录ftp服务器传入用户名密码(21端口)2.登录成功3.随机放开端口4.port命令读取,通过随机端口号,发送到ftp服务器21端口5.通过20端口发数据到客户端开通的随机端口ftp客户端ftp服务器

FTP客户端和服务器的TCP21端口进行连接,用来发送命令,客户端需要接收数据的时候在这个通道上发送port命令。port命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP20端口连接至客户端的指定端口发送数据。FTP server必须和客户端建立一个新的连接用来传送数据。

被动模式(passive)

ftp客户端ftp服务器1.登录ftp服务器传入用户名密码(21端口)2.登录成功3.pasv命令4.开放随机端口号5.服务器向客户端开放随机端口号,客户端接收6.连接随机端口号获取数据ftp客户端ftp服务器

FTP客户端首先和服务器的TCP21端口建立连接,用来建立控制通道发送命令,但建立连接后客户端发送pasv命令。服务器收到pasv命令后,打开一个临时端口(端口大于1023小羽65535)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器的临时端口,然后ftp服务器将通过这个端口传输数据。

注:由于vsftp的被动模式是随机端口进行数据传输,所以设置防火墙时需要刻意放行。

五、VSFTP传输模式

Binary模式:不对数据进行任何处理,适合进行可执行文件、压缩文件,图片等。

ASCII模式:进行文本传输时,自动适应操作系统的结束符,如回车等。

Linux红帽发行版本中VSFTP默认采用的时binary模式,这样能保证绝大多数文件传输后能正常使用。

切换方式:在ftp>提示符下输入ascii即转换到ascii方式,输入binary即转换到binary模式

六、vsftp软件信息

服务端软件名
vsftpd

客户端软件名
ftp

服务名
vsftpd

端口号
20、21、或指定范围内随机端口

配置文件
/etc/vsftpd/vsftpd.conf

登录验证方式

匿名用户验证
用户账号名:ftp或anonymous
用户密码:无密码
工作目录:/var/ftp(类似家目录,别把文件放在这里)
默认权限:可下载可上传,上传权限由两部分组成(配置文件和文件系统)

本地用户验证
用户账号名:把本地用户(/etc/passwd)
用户密码:用户密码(/etc/shadow)
工作目录:登录用户的宿主目录(用户家目录)
权限:最大权限(drwx------)

虚拟(virtual)用户验证
1.创建虚拟用户来代替本地用户,减少本地用户曝光率
2.使用本地用户作为虚拟用户的映射用户,为虚拟用户提供工作目录和权限控制
3.能够设置严格的权限(为每一个用户生成单独配置文件)
人为创建,生成数据库文件,找一个系统用户作为虚拟用户的映射用户,借助系统用户的家目录作为默认登陆点,则默认登录位置:/home/*
每个虚拟账户的权限都可以被单独定制

七、VSFTP实验

匿名用户实现

匿名权限控制:(/etc/vsftpd/vsftpd.conf)

anonymous_enable=yes,启用匿名访问
anon_umask=022,匿名用户所上传文件的权限掩码
anon_root=/var/ftp,匿名用户的FTP根目录
anon_upload_enable=yes,允许上传文件
anon_mkdir_write_enable=yes,允许创建目录
anon_other_write_enable=yes,允许其他人写入权限
anon_max_rate=0,限制最大传输速率,0为不限速,单位byte/s
注:anon就是anonymous,代表匿名用户。

实现需求和流程

1.实现可以上传
anon_upload_enable=yes
在/var/ftp/创建上传目录
修改上传目录的权限或所有者,让匿名用户有写入权限(不推荐设置/var/ftp目录权限,pub也不行)

2.实现创建目录和文件其他操作
anon_mkdir_write_enable=yes
anon_other_write_enable=yes

3.用户进入某文件时,弹出相应说明
在对应目录下创建.message文件,并写入提示内容。
确认dirmessage_enable是否启用
尝试切换目录查看效果,同一次登录仅提示一次。

实现上传的文件可下载
默认情况下开放上传权限后,上传的文件是无法被下载的,因为文件的其他人位置没有r权限
设置anon_umask=022,可以让上传的文件other位拥有r权限,然后才能被其他人下载。

服务机安装vsftpd,客户端安装ftp
客户端通过ftp 服务器IP,即可通过vsftp访问。
常用命令:
?,获取帮助
get,下载文件,例如:get install.log
put,上传文件,例如:put install.log
delete,删除目录,例:delete laoli
mkdir,创建目录,例:mkdir laoli
rename,改名。例如:rename install.log ist

本地用户验证实现

本地用户权限控制:
local_enable=yes,是否启用本地用户
local_umask=022,本地用户所上传的文件的权限掩码
local_root=/var/ftp,设置本地用户的ftp根目录,默认本地用户家目录
chroot_local_user=yes,是否将用户禁锢在家目录
local_max_rate=0,限制最大传输速率
ftpd_baner=welcaome to blah FTP server,用户登陆时显示的欢迎信息
userlist_enable=yes&userlist_deny=yes,禁止/etc/vsftpd/user_list文件中出现的用户名用户登录FTP
userlist_enable=yes&userlist_deny=no,仅允许/etc/vsftpd/user_list文件中出现的用户名用户登录FTP

配置文件
/etc/vsftpd/ftpusers
禁止/etc/vsftpd/ftpusers文件中出现的用户名用户登录FTP,权限比user_list更好,即刻生效。

实现需求和流程

1.客户端需要创建用户并设置密码(用户不登陆操作系统,仅用来登录vsftp)
useradd -s /sbin/nologin username

2.将所有用户禁锢在自己家目录下
chroot local_user=yes,默认不禁锢

3.将部门用户禁锢在自己家目录下
chroot_list_enable=yes
开启白名单功能,允许白名单中的用户随意切换目录
chroot_list_file=/etc/vsftpd/chroot_list
白名单文件所在位置(需要自己配置)

4.配置文件
/et/cvsftpd/ftpusers
所有写入此文件的用户都不允许登录ftp,立即生效

5.修改被动模式数据传输使用端口
pasv_enable=yes
pasv_main_port=30000
pasv_max_port=35000

虚拟用户验证实验

1.建立FTP虚拟用户的用户数据库文件,在/etc/vsftpd/

vim vsftpd.user
注:文件名可以随便定义,文件格式是奇数行用户,偶数行密码
laoli
123456
在这里插入图片描述
写完后用命令进行文件类型转换
db_load -T -t hash -f vsftpd.user vsftpd.db
将vsftpd.user转换成vsftpd.db
-T,将文件转换成数据库文件
-t,加密类型,hash加密
-f,要转换的源文件,所以是-f vsftpd,user
在这里插入图片描述
再修改文件权限位600,保证其安全性
chmod 600 vsftpd.db
在这里插入图片描述

2.创建ftp用户的映射用户,并指定其家目录。

useradd -d /var/ftproot -s /sbin/nologin virtual
创建virtual用户作为ftp的虚拟用户的映射用户
在这里插入图片描述

3.建立支持虚拟用户的PAM认证文件,添加虚拟用户支持。

cp -a /etc/pan.d/vsftpd /etc/pam.d/vsftpd.pam
在这里插入图片描述
使用模板生成自己的认证配置文件,方便调用

4.编辑新生成的文件vsftpd.pam,清空原来的内容,添加以下内容

auth required pam_userdb.so db:/etc/vsftpd/vsftpd
account required pam_userdb.so db=/etc/vsftpd/vsftpd

5. 在vsftpd.conf添加支持配置

修改
pam_service_name=vsftpd.pam
添加
guest_enable=yes #开启虚拟用户
guest_username=virtual #映射用户是谁
user_config_dir=/etc/vsftpd/dir #配置文件目录,自己创建

6.为虚拟用户创建独立的配置文件,启动服务并测试

注:做虚拟用户配置文件时,将主配置文件中定义的匿名用户相关设置注释掉,因为虚拟用户和匿名用户使用同一种参数anon_xxx。如果主配置文件有自定义的配置,那么子配置文件不生效,仅是自定义的,原本默认的不改。
在这里插入图片描述
配置文件:

用户可以上传:anon_upload_enable=yes
用户可以创建文件或目录:anon_mkdir_write_enable=yes
用户可以修改文件名,删除等写入权限
anon_upload_enable=yes
anon_other_write_enable=yes

注:给映射用户的家目录,设置r权限,让虚拟用户有读写权限。
dir下的配置文件的名字和虚拟用户文件中的用户名相同即可,每个用户就有每个配置文件
取消匿名用户的相关设置(虚拟用户与匿名用户使用相同的参数,所以如果要设定虚拟用户,取消主配置文件中关于匿名用户的配置,子虚拟用户配置文件才有作用)

测试是否成功

在这里插入图片描述
在这里插入图片描述

openssl+vsftpd加密验证方式

使用tcpdump工具指定端口抓包,抓取ftp登录过程中的数据包
tcpdump -i ens33 -nn -x -vv port 21 and ip host

-i,interface:指定tcpdump需要监听的接口
-n,对地址以数字方式显示,否则显示主机名
-nn,除了-n作用外,还会把端口显示为数值,否则显示端口服务名
-x,输出包的头部数据,会以16进制和ASCII两种方式同时输出
-vv,产生更详细的输出,可以-v -vvv

例如:
tcpdump -i ens33 -nn -x -vv port 21 and ip host 192.168.1.130
指定监听本机ens33网卡的21端口,抓取来自192.168.1.130的包
注:此抓包就可以看到账户密码,表示vsftp确实以明文传输,可以和22端口抓的包作比较
在这里插入图片描述
在这里插入图片描述

所以需要使用openssl进行加密

具体操作:
https://blog.youkuaiyun.com/mango_kid/article/details/108147323
很详细,我这里也就不写了。

linux的vsftpd服务(基础小白必学) FTP (File transfer protocol) 是TCP/IP 协议组中的协议之一。他最主要的功能是在服务器与客户端之间进行文件的传输。FTP就是实现两台计算机之间的拷贝,从远程计算机拷贝文件至自己的计算机上,称之为“下载 (download)”文件。将文件从自己计算机中拷贝至远程计算机上,则称之为“上传(upload)”文件。这个古老的协议使用的是明码传输方式,且过去有相当多的安全危机历史。 阅读详情

相关推荐

vsftpd 操作手册 - 完整版

ftpusers 不受任何配制项的影响,它总是有效,它是一个黑名单;ftpusers 列表中的用户不能访问FTP;ftpusers 是vsftpd服务在启动后已经决定的;ftpusers 文件只要存在, 则这个列表里面用户都不能访问FTP;在 vsftpd.conf 配置中没有参数配置可以控制该文件存放;ftpusers: 是一个禁止访问FTP的用户列表;ftpusers: 通过限制账号(root、高权限账户)登录FTP, 防止登录账号权限过大, 不受限制下载重要文件;...

萌兔兔MMQ!! 4276

linux搭建vsftpd服务使用filezilla连接服务

linux搭建vsftpd服务使用filezilla连接服务

pingfanblog 3604

Linux中搭建vsftp服务

vsftp简介 安全性是编写VSFTP的初衷,除了这与生俱来的安全特性以外,高速与高稳定性也是VSFTP的两个重要特点。 在速度方面,使用ASCII代码的模式下载数据时,VSFTP的速度是Wu-FTP的两倍,如果Linux主机使用2.4.*的内核,在千兆以太网上的下载速度可达86MB/S。 在稳定方面,VSFTP就更加的出色,VSFTP在单机(非集群)上支持4000个以上的并发用户同时连接,...

谷子的博客 8724

CentOS 安装VSFTP

1 离线安装 1.1 获取安装包 ​ 前往包的总地址进行下载(搜索VSFTP,并下载对应的版本)。本次使用的是CentOS 7的vsftpd-3.0.2-25.el7.x86_64.rpm版本,点击RPM包可直接进行下载。 ​ 安装VSFTP还需要用到FTP的环境,本次使用的是CentOS 7的ftp-0.17-67.el7.x86_64.rpm版本,点击RPM包可直接进行下载。 1.2 安装VS...

MapleGone的博客 3624

Linux云计算之VSFTP服务器概述-安装vsftp服务器端、客户端

VSFTP服务器概述 FTP服务概述 FTP服务器(File Transfer ProtocolServer)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP(File Transfer Protocol: 文件传输协议)作用:Internet 上用来传送文件的协议。 常见FTP服务器: Windows:Serv-U 、FTP Server、filezilla_server Linux:ProFTPD:(Professional FTP daemon)一个Unix平台上或

xueshenlaila的博客 5965

VSFTP安装配置

1、VSFTP简介   VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全。   安全性是编写VSFTP的初衷,除了这与生俱来的安全特性以外,高速与高稳定性也是VSFTP的两个重要特点。   在速度方面,使用ASCII代码的模式下载数据时,VSFTP的速度是Wu-FTP的两倍,如果Li

wenyusuran的专栏 2005

VSFTP入门

VSFTP入门

底层码农 6784

STM32F103C8T6+I2C+DMA读取陀螺仪模块JY901S(硬件I2C

说明:1.本实验代码适用移植一切stm32f1系列;2.本实验使用的是外设资源硬件I2C2;3.本实验运用的是DMA单次模式,如果需要DMA的循环模式,请移步我的另一篇文章;4.本文章不提供陀螺仪校准教学,并是在没有校准陀螺仪情况下读取数据;5.本文章是作者的学习记录及心得,如有不足,欢迎指正。 总结:亲测stm32f103c8t6最小系统板通过片上外设资源I2C配合DMA读去陀螺仪模块jy901s偏航角有效。

anquanyuanqqadsy的博客 6170

VSFTP服务简介

Linux服务之vsftpd服务

Liang_GaRy的博客 4085

演化计算(蚁群算法、粒子群算法、遗传算法、演化规则......)

演化算法1.概念2.解决的问题 1.概念 传统算法(如梯度下降法、爬山法)根据导数的性质决定迭代的方向;而演化计算是一组解在一起协同作用产生一个最优解。 2.解决的问题 预测优化:演化计算(蚁群算法、粒子群算法、遗传算法等) 解的聚散、多样性:通过多次聚散,尽快得出最优解(某个解不合要求,要能够发散出去) ...

dear_jing的博客 4162

RV1126B RV1126B-P 瑞芯微 高性能视觉处理器SoC 芯片

它集成了大量算法加速器,如 HDR、3A、LSC、3DNR、2DNR、锐化、去雾、鱼眼校正、伽马校正、特征点检测等。此外,还配备了一款最多8兆像素的 AI-ISP,作为对传统ISP 的补充,以提供卓越的空间去噪性能和增强的图像增强效果。除了先前的高性能多媒体区块外,RV1126B还包含丰富的音频、内存和其他外围接口,如I2C、SPI、PWM等。借助这-特性,来自相机的视频可以以高分辨率进行编码,并存储在本地内存中,同时还能将另-段较低分辨率的视频传输到云存储。

szhorsway的博客 1855

7.VSFTP

VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP,从名称定义上基本可以看出,这是为了解决ftp传输安全性问题的。

weixin_68725019的博客 1409

【Halcon】双目立体视觉引导机械手有序抓取,案例分享

本文介绍了一个基于双目视觉的工件定位与抓取系统。该系统使用两个工业相机组成双目视觉系统,通过标定获取相机参数,采用模板匹配算法识别任意摆放且可能交叠的工件。重点阐述了三维坐标获取方法,特别是通过Z方向高度实现有序抓取的策略。文章详细说明了系统搭建、双目标定、模板创建等关键步骤,并展示了特征点匹配和定位结果。该案例为初学者和开发者提供了双目视觉系统的基本实现参考,展示了机器视觉与机械手协同工作的典型应用场景。

机器视觉从业者 2489

VSFTP

学习主题:VSFTP 学习目标: 1 掌握什么是FTP,为什么要学习FTP工具 2 掌握VSFTP 3 掌握FTPClient的使用 4 掌握FTPUtil工具类的使用 5 掌握KindEditor插件的作用 6 掌握使用KindEditor完成图片上传功能 1.VSFTP介绍 (1)什么是FTP服务器? FTP 是 File Transfer Protocol(文件传输协议)的英文简称,而中文简...

qq_43364293的博客 668

UE5.1实战:从零到打包,手把手教你用UMG和蓝图搭建智慧城市数字孪生界面

本文详细介绍了如何使用UE5.1的UMG和蓝图系统从零开始构建智慧城市数字孪生界面。通过环境准备、UMG界面设计、蓝图功能实现、数据绑定到最终打包发布的全流程指导,帮助开发者掌握数字孪生技术的核心应用,提升智慧城市可视化开发效率。

weixin_30251829的博客 619

成对使用离轴抛物面反射镜的设计

成对使用离轴抛物面反射镜的设计

weixin_72050316的博客 637

七VSFTP

openssl req -new -key vsftpd.key -out vsftpd.csr #需要依次输入国家,地区,城市,组织,组织单位,Email等信息。权限不足时,不允许下载文件。- **配置文件**:`/etc/vsftpd/vsftpd.conf` `/etc/vsftpd/ftpusers(超级黑名单,修改后不需要重新重启服务)- **流程**:客户端与服务器的TCP 21端口建立连接,客户端通过PORT命令指定数据接收端口,服务器通过TCP 20端口连接客户端指定端口发送数据。

gsdgdg00的博客 1306

【tessy】软件环境配置:Keil C51 Keil uVision UVSC (Default)

本文详细说明了tessy软件如何配置【Keil C51 Keil uVision UVSC (Default)】环境,具体操作步骤和注意事项

qq_37282365的博客 599

FTP协议与VSFTP服务搭建

FTP(File Transfer Protocol,文件传输协议)是应用层的C/S(客户端-服务器)架构协议,核心作用是在网络中实现可靠的文件传输。它基于TCP协议(面向连接、可靠传输),通过“控制通道”与“数据通道”分离的设计,确保指令传输与文件传输的稳定性。核心特点:面向连接、可靠传输、支持断点续传(部分客户端)、可通过权限控制实现精细化访问。常见应用场景:服务器日志下载、网站文件上传(如早期CMS系统)、跨设备批量数据传输。本地用户登录基于Linux系统的本地账号(如zhangsan。

2503_93012396的博客 870

Python爬虫实战:高德地图POI信息爬取(餐馆/加油站等),附选址分析技巧

高德API配置AMAP_KEY = "你的高德API Key" # 替换成自己的Key# 爬取参数CITY = "成都" # 城市DISTRICTS = ["锦江区"] # 区域,可添加多个(比如["锦江区", "武侯区"])KEYWORDS_LIST = ["川菜馆", "加油站"] # 要爬取的POI类型TYPES = {"川菜馆": "050101", # 餐饮服务→中餐→川菜馆(高德POI分类编码)"加油站": "110100" # 交通设施→加油站。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2467

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

vsftp使用

取消匿名用户的相关设置(虚拟用户与匿名用户使用相同的参数,所以如果要设定虚拟用户,取消主配置文件中关于匿名用户的配置,子虚拟用户配置文件才有作用)人为创建,生成数据库文件,找一个系统用户作为虚拟用户的映射用户,借助系统用户的家目录作为默认登陆点,则默认登录位置:/home/*dir下的配置文件的名字和虚拟用户文件中的用户名相同即可,每个用户就有每个配置文件。2.使用本地用户作为虚拟用户的映射用户,为虚拟用户提供工作目录和权限控制。注:给映射用户的家目录,设置r权限,让虚拟用户有读写权限。

Salted fish in hand, I have the world. 1625

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

linux下如何启动vsftp服务,如何在Ubuntu 18.04上使用VSFTP快速设置FTP服务器

如果您需要配置一个FTP服务器快速启动运行,那么VSFTP的易用性是无与伦比的。如果你想将应用程序迁移到最新版本Ubuntu Linux服务器中,并且需要快速启动并运行FTP服务器。如何操作?这实际上非常简单。这里将使用VSFTP服务器向您展示如何做到这一点。VSFTP是一个非常安全和快速的FTP应用程序,它的设置和管理非常简单。1、准备工作需要安装并运行的Ubuntu Server 18.04系...

weixin_36275071的博客 1486

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

vsftp客户端_[转载]安装VSftp实现ftp服务

安装VSftp实现ftp服务FTP(文件传输协议)在众多网络应用中,是仅次于web的服务,有着非常重要的地位。Internet中一个十分重要的资源就是软件资源,而各种各样的软件资源大多数都放在FTP服务器中。像大多数Internet服务一样,FTP也是一个客户端/服务器系统。用户通过一个支持FTP协议的客户端程序,连接到主机上的FTP服务器程序。用户通过客户端程序向服务器程序发出命令,服务器程序执...

weixin_39915367的博客 459

网络服务-VSFTP

文章目录一、VSFTP 概述1.1 安全特性二、 VSFTP 连接类型三、VSFTP 工作模式Port模式(主动)Passive 模式(被动)四、VSFTP 传输模式五、VSFTP 软件信息六、登录验证方式七、VSFTP 实验部署 一、VSFTP 概述 FTP 是 File Transfer Protocol(文件传输协议)的英文简称,用于 Internet 上的文件的双向传输。使用 FTP 来传输时,是具有一定程度的危险性, 因为数据在因特网上面是完全没有受到保护的明文传输方式! VSFTP是一个基于 G

路人甲的博客 1095
上一篇: DHCP动态主机配置协议
下一篇: nfs网络文件系统
梦游的老李
博客等级 码龄7年 4粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值