vsftp服务器搭建-学习笔记整理

CentOS7 vsftpd服务器的搭建 课程名称 Linux网络操作系统 实验名称 vsftpd服务器的搭建 实验一 vsftpd服务器的搭建 实验目的及要求 实现虚拟机和物理机之间的连通 实现物理机上以匿名用户,本地用户,虚拟用户登录ftp服务器 实现以上三种身份的登录,上传,下载。由于本地用户权限高,所以为其增加锁定限制,限制其活动路径的范围。 ... 阅读详情

ftp

1、ftp简介与原理

ftp(file transfer protocol)中文称为“文件传输协议”用于internet上的控制文件的双向传输。

 

主动模式:服务端从20端口主动向客户端发起连接。

1、登录ftp服务器

2、登陆成功

3、客户端随机开放端口

4、客户端发送Port命令,读取数据,将开放的随机端口发送给服务器

5、服务器连接到客户端发送的随机端口,发送数据

6、服务器使用固定的20端口,向客户端的随机端口发送数据

 

被动端口:服务端在指定范围内内某个端口被动等待客户端连接。

1、登录ftp服务器

2、登陆成功

3、客户端发送pasv命令

4、服务器开放随机端口

5、服务器将开放的随机端口发送给客户端

6、客户端接收服务器开放的随机端口

7、客户端连接到服务器的随机端口获取数据。

 

一般使用被动模式,因为主动模式使用固定20端口访问客户端的随机端口传输数据时,客户端的随机端口可能会被防火墙拦截,服务器无能为力。

当使用被动模式时,客户端主动访问服务器的随机端口,当服务器的端口被防火墙拦截时,服务器可以调节,开放发送端口。

主要是从访问角度来衡量考虑。

 

端口:

ftp连接端口

控制连接:tcp 21,用于发送ftp命令信息

数据连接:tcp 20,用于上传、下载数据

 

 

 

2、ftp相关文件

安装

vsftpd-2.2.2-11.el6.i686.rpm

 

相关文件

主配置文件:

/etc/vsftpd/vsftpd.conf

用户控制列表文件:

/etc/vsftpd/ftpusers

/etc/vsftpd/user_list

 

ftp相关用户

匿名用户

anonymous或ftp

本地用户

使用linux系统用户和密码

虚拟用户

管理员自定义的模拟用户

 

注意事项:

关闭防火墙

关闭SELinux

 

 

3、配置文件详解

 

默认配置文件

anonymous_enable=YES   #允许匿名用户登录

local_enable=YES #允许本地用户登录

write_enable=YES #允许本地用户上传

local_umask=022 #本地用户上传 umask值

 

dirmessage_enable=YES #用户进入目录时,显示.message文件中信息

message_file=.message #指定信息文件

 

xferlog_enable=YES #激活记录日志

connect_from_port_20=YES #主动模式数据传输接口

xferlog_std_format=YES #使用标准的ftp日志格式

 

ftpd_banner #登录欢迎信息

listen=YES #允许被监听

pam_service_name=vsftpd

#设置PAM外挂模块提供的认证服务所使用的配置文件名,

       #即/etc/pam.d/vsftpd文件

userlist_enable=YES #用户登录限制

tcp_wrappers=YES #是否使用tcp_wrappers作为主机访问控制方式

 

 

常用全局配置

listen_address=192.168.4.1 #设置监听的ip地址

Listen_port=21 #设置监听的ftp服务的端口号

download_enable=YES #是否允许西下载文件

max_clients=0 #限制并发客户端的连接数

max_per_ip=0 #限制同一ip地址的并发连接数

 

被动模式:

pasv_enable=YES #开启被动模式

pasv_min_port=24500 #被动模式最小端口

pasv_max_port=24600 #被动模式最大端口

 

常用安全配置

accept_timeout=60 #被动模式,连接超时时间

connect_timeout=60 #主动模式,连接超时时间

idle_session_timeout=600 #600秒没有任何操作就关闭端口连接

data_connection_timeout=500  #资料传输时,超过500秒没有完成,就断开传输

 

 

 

4、连接ftp的客户端使用

 

使用命令行连接

ftp ip

 -help 获取帮助

 -get   下载

 -mget 下载一批文件

 -put   上传

 -mput 上传一批文件

 -exit    退出

 

使用windows对话框

ftp://192.168.2.1

 

使用第三方工具

Winscp

 

 

在使用命令行方式连接tfp服务器的时候,不支持断点续传和目录传输

 

5、匿名用户访问

 

基本配置

anonymous_enable #允许匿名用户访问

anon_upload_enable #允许匿名用户上传

anon_mkdir_write_enable #允许匿名用户建立目录

anon_umask #设置上传的默认文件权限(默认是600)

 

注意事项:

默认上传目录:/var/ftp/pub/

如果允许上传,需要服务权限和系统目录权限同时允许

Vsftpd服务的伪用户是ftp

 

 

当匿名用户上传文件的时候,只开启上传权限是不够的,还需要对上传的文件夹拥有linux的系统操作权限,可以将上传文件到的目录所有者改为ftp伪用户,即可有权限上传操作。

 

 

 

6、本地用户访问

 

1、本地用户基本配置

local_enable=YES #允许本地用户登录

write_enable=YES #允许本地用户上传

local_umask=022 #本地用户上传umask值

 

local_root=/var/ftp #设置本地用户的ftp根目录(注意目录权限)

local_max_rate=0   #限制最大传输速率(字节/秒)

 

注意:

当不设置local_root=/var/ftp参数时,各本地用户上传的默认目录是各自的家目录。

当设置了local_root=/var/ftp参数后,任何本地用户上传的目录都默认到了指定的目录,进行了统一。

 

同样当本地用户对文件上传是,除了开启ftp上传权限,还要拥有linux系统读写权限。更改上传目录的所属组,将本地用户加入到组中,即可上传文件。

 

 

使用匿名用户和本地用户登录ftp服务器后,可以随意切换到根目录,可以随意下载到东西。就要,限制用户在本地目录不可以随意切换目录

 

 

把用户限制在家目录

chroot_local_user=YES

#开启用户目录限制(只有此行,把所有用户都现在在用户主目录中)

 

设置chroot_local_user=YES参数之后,所有的本地用户都只会在此目录下,不可随意切换到其他目录。

 

如果想要允许用户可以随意切换其他目录可以使用参数:

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

#写入到/etc/vsftpd/chroot_list文件中的用户可以访问任何目录,其他用户限制在用户主目录

 

 

2、用户访问控制

 

ftp相关文件

 用户控制列表文件:

/etc/vsftpd/ftpusers

/etc/vsftpd/user_list

 

访问控制:

1、

userlist_enable=YES #开启用户访问控制

userlist_deny=YES

userlist_file=/etc/vsftpd/user_list

#写入/etc/vsftpd/user_list文件中的用户不能访问ftp服务器,没有写入的用户可以访问(默认就是如此)

 

2、

userlist_enable=YES #开启用户访问控制

userlist_deny=NO

userlist_file=/etc/vsftpd/user_list

#写入/etc/vsftpd/user_list文件中的用户可以访问ftp服务器,没有写入的用户不能访问

 

 

注意:

不要把限制用户主目录和用户访问限制搞混

#chroot_local_user=YES 用于把用户禁锢在主目录下

#userlist_enable=YES 用于用户访问控制

 

 

7、虚拟用户访问

 

1、配置虚拟用户访问

配置虚拟用户登录的步骤:

1、添加虚拟用户口令文件

2、生成虚拟用户口令认证文件

3、编辑vsftpd的PAM认证文件

4、建立本地映射用户并设置宿主目录权限

5、修改配置文件

6、重启vsftp服务,并测试

7.调整虚拟用户权限

 

1、添加虚拟用户口令文件

vi /etc/vsftpd/vuser.txt   #vuser.txt文件名是随意起的,但是要与后面配置对应

cangls#用户名

123#密码

bols#用户名

123#密码

 

2、生成虚拟用户口令认证文件

yum -y install db4-utils

#如果没有安装口令认证命令,需要安装

 

db_load -T -t hash -f /etc/vsftpd/vuser.txt  /etc/vsftpd/vuser.db

#把文本文档转换为认证的数据库

 

3、编辑vsftpd的PAM认证文件

vi /etc/pam.d/vsftpd

auth required /lib/security/pam.userdb.so db=/etc/vsftpd/vuser

account required /lib/security/pam.userdb.so db=/etc/vsftpd/vuser

 

#注释掉其他行,加入此俩行即可

#注释掉其他行,可以禁止本地用户登录,因为本地用户登录时的验证依然依赖这个文件

 

4、建立本地映射用户并设置宿主目录权限

useradd -d /home/vsftproot -s /sbin/nologin vuser

#此用户不需要登录,只是映射用户

#用户名必须和下一步配置文件中一致

 

chmod 755 /home/vftproot

 

5、修改配置文件

vi /etc/vsftpd/vsftpd.conf

 guest_enable=YES #开启虚拟用户

 guest_username=vuser #ftp虚拟用户对应的系统用户

 pam_service_name=vsftpd #PAM认证文件(默认存在)

 

6、重启vsftp服务,并测试

service vsftpd restart

#此时虚拟用户可以登录,查看,下载,不能上传

#默认上传文件的位置是宿主用户的家目录

#权限使用的是匿名用户权限进行管理

 

7.调整虚拟用户权限

vi /etc/vsftpd/vsftpd.conf

anonymous_enbale=NO #关闭匿名用户登录,更加安全

#(不影响虚拟用户登录)

anon_upload_enable=YES    #允许(虚拟)匿名用户上传

anon_mkdir_write_enable=YES #允许(虚拟)匿名用户建立目录

anon_other_write_enable=YES

#给虚拟用户设定权限,允许所有虚拟用户上传

 

2、为每个虚拟用户建立自己的配置文件,单独定义权限

可以给每个虚拟用户单独建立目录,并建立自己的配置文件。这样方便单独配置权限,并可以单独指定上传目录

 

1、修改配置文件

vi /etc/vsftpd/vsftpd.conf

user_config_dir=/etc/vsftpd/vusers_dir

#指定保存虚拟用户配置文件的目录

 

2、手工建立目录

mkdir /etc/vsftpd/vusers_dir

 

3、为每个虚拟用户建立配置文件

vi /etc/vsftpd/vusers_dir/cangls

anon_upload_enable=YES    #允许(虚拟)匿名用户上传

anon_mkdir_write_enable=YES #允许(虚拟)匿名用户建立目录

anon_other_write_enable=YES

#允许此用户上传

local_root=/tmp/vcangles

#给cangls指定独立的上传目录

 

4、建立上传目录

mkdir /tmp/vcangls

Chown vuser:vuser /tmp/vangls

 

如果不给bols指定单独的配置文件,则遵守主配置文件(/etc/vsftpd/vsftpd.conf)的权限。

 

 

 

配置效果如下:

禁止匿名用户登录(配置文件修改)

禁止本地系统用户登录(pam文件修改)

允许虚拟用户登录(配置文件修改)

cangls的上传目录是/tmp/vcangls并且允许查看,下载,上传

bols的上传目录是虚拟用户的默认目录/home/vftproot,只能查看,下载。但是 不能上传

VSFTP服务主被动间和防火墙关系原理总结 前言 在工作常常碰到项目上部署FTP的需求,公司系统用到FTP服务也很多,相对于一般服务来说FTP客户端和服务器在网络建立关系上比较的特殊,不管是windows中还是linux中部署,现场多多少少都会出现一些问题,对于这些常出现的问题,我这里做了一定的整理分析。主要问题集中在:FTP的部署搭建没有明确的文档规范,FTP主动被动原理不清楚,FTP网络端口映射不准确等问题上,综合以上问题,本文以Cen... 阅读详情

相关推荐

银河麒麟服务器vsftp配置实战:匿名与本地用户权限精细化管理

本文详细介绍了在银河麒麟服务器上配置vsftp服务的实战经验,重点聚焦于匿名用户与本地用户的权限精细化管理。通过分步讲解安装、环境配置、核心参数设置及SELinux等安全策略,指导读者构建既安全又高效的企业级FTP服务器,并深入解析了通过独立配置文件实现用户级精准管控的高级技巧。

weixin_28347369的博客 248

学习总结8.3 Linux FTP服务器搭建

有网在线安装,没网的话用下面这个安不了 更新软件源:sudo apt-get update 安装vsftpd:sudo apt-get install vsftpd start:启动该服务; stop:关闭该服务; restart:重新启动该服务; status:查看该服务状态; 查看vsftpd服务状态,可以使用如下命令: sudo service vsftpd status FTP客户端 注意:使用ftp命令去连接远程主机时,必须保证远程主机的vsftp...

xiexieya233的博客 776

【SerDes】美信GMSL2-CSI调试心得

美信GMSL2加解串器芯片家族广泛应用于车载和工业视觉系统。文章介绍了MAX96717/MAX96717F加串器和MAX96724/MAX96724R解串器的关键特性,包括支持MIPI CSI-2接口、6Gbps传输速率等功能。提供了基于高通平台的demo系统配置和调试步骤,重点阐述了Link Lock、PCLK检测和Video Lock等关键调试环节,并详细说明了像素模式,隧道模式的工作原理及寄存器配置示例。文中还包含通过I2C读写寄存器的具体操作指令,取流freeze可能原因和解决方法。

qq_38089448的博客 2488

vsftpd 小结

1.挂载光盘 2.安装vsftpd包: cd /media/cdrecorder1/RedHat/RPMS rpm -ivh vsftpd-2.0.1-8.el4.i386.rpm 3.启动vsftp...

congpiqu8186的博客 130

【GD32F407】i2c主机发送,从机中断接收

前言 现在手里负责的一个项目需要用i2c和主芯片进行通信主动发送,中断接收,这就需要支持i2c主机模式和从机模式,先查看原理图 这里我们用到了两条i2c总线进行数据的交替传输,避免在使用一条总线是发送数据和接收数据冲突 初始化i2c控制器 s32_k i2cDevInit(u8 byBusId, TI2cBus *pTI2cBus) { //PCLK = 36000000 BOOL retFlg = FALSE; int I2xSCL = pTI2cBus->byFastMode ?

Enosji的博客 6246

LEC/FORMAL --- PARTIII debug

lec(logic equivalence checking)又叫formal check,是对ic design的综合,PR前后的设计进行逻辑对比检查的工具/手段,保证综合不改变rtl原始的logic function。目前用的较多的就是C家的formal工具。接下来介绍一下lec过程中遇到的问题以及debug手段。...

sinat_27691203的博客 7709

FTP服务器搭建详细步骤

前言 FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。(FTP服务器) IIS是一种Web(网页)服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联.

weixin_44090040的博客 1万+

博途WinCC上位机避坑指南:从工控机选型到趋势图优化的完整流程

本文详细解析了博途WinCC上位机开发全流程,从工控机选型到趋势图优化的关键技巧。针对工业自动化场景,提供硬件配置指南、网络优化方案和性能提升策略,帮助工程师避开常见陷阱,实现稳定高效的HMI系统部署。特别强调PC Station与传统触摸屏的选型对比及SIMATIC NET配置优化。

pp12345的博客 278

linux搭建ftp详解

一、概念 1.1介绍 FTP:File transfer protocol 文件传输协议 端口 TCP21:命令 TCP20:数据 1.2原理 默认采用被动模式 被动模式FTP 为了解决服务器发起到客户的连接的问题,人们开发了一种不同的FTP连接方式。这就是所谓的被 动方式,或者叫做PASV,当客户端通知服务器它处于被动模式时才启用。在被动方式FTP中,命令连接和数据连接都由客...

ningjiu9的博客 6万+

基于POI-TL实现动态Word模板数据填充(含图表):从需求到落地的完整开发实践

本文聚焦企业级报告生成场景中 “在线编辑模板 + 动态数据填充” 的核心需求,详细阐述基于 POI-TL、OnlyOffice 与 MinIO 的全栈实现方案。通过代码示例拆解模板加载、文字填充、图表匹配渲染(含通过关系 ID 关联图表与段落的关键逻辑)、报告存储全步骤。最终通过技术组合实现业务人员可视化编辑模板、后端高效填充数据的目标,为同类动态 Word 生成需求提供可复用的实践参考。

imHanweihu的博客 1866

软考「系统规划与管理师(第2版)」通关全攻略(2026年下半年)

它考的是一个IT管理者能不能用体系化的语言,把"我们为什么要建这个系统→怎么规划→怎么管好服务→怎么合规"讲圆。所以备考的核心策略也很明确——教材建框架 → 真题磨考点 → 案例练结构 → 论文备好真实项目素材 → 机考练打字。按计划走,不贪全、不盲刷、不死背,稳稳把三科都推过45分那条线。祝你通关 🎯。

软件行业技术文化交流。 3041

Linux搭建配置vsftp+本地用户|虚拟用户创建

Linux搭建配置vsftp+本地用户|虚拟用户创建

许道杰的博客 3438

Prompt Engineering 学习指南:从入门到精通的最佳路径与资源

随着大型语言模型(LLM)能力的飞速发展,Prompt Engineering(提示工程)已成为人与AI协作的核心技能。本报告旨在为不同水平的学习者提供一条清晰、高效的学习路径,整合了当前社区公认的最佳实践和顶级开源资源,帮助您系统地掌握 Prompt Engineering,释放 LLM 的全部潜力。保持好奇心,不断尝试,您将能驾驭语言模型这一强大的工具,创造出前所未有的价值。超越简单的“一问一答”,学习如何将 Prompt Engineering 与外部工具和数据结合,构建强大的 AI 应用。

shiter编写程序的艺术 698

linux firewall开放端口_Linux服务器配置-VSFTP服务配置(七)

上文:Linux服务器配置-VSFTP服务配置(六)上几篇文章介绍了VSFTP服务通过匿名用户、本地用户和虚拟用户认证登录FTP服务器的配置方法,其使用的都是VSFTP服务默认的21端口。如果需要更改VSFTP服务的默认端口,并且系统开启了防火墙和SELinux,那么就要对其进行相应设置后,才能正确登录到FTP服务器。下面将通过实例说明Linux系统在开启防火墙和SELinux后,改变VSFTP服...

weixin_39852276的博客 651

【人工智能】Warp 终端完整汉化方案(2026最新)

截至2026年5月,,仅完成了中文、日文、韩文等东亚语言的字符渲染支持,设置面板中无官方语言切换选项,相关中文UI功能需求仍在官方GitHub开源仓库的需求迭代队列中。

奶爸的编程之路,也就一周冷个三天 3103

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

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

关于基于FTP的文件传输服务,vsftp服务的快速部署指南

文件传输服务快速部署。VSFTP是一款在类Unix系统上广泛使用的FTP服务器软件,它基于GPL协议发布。VSFTP的全称是“Very Secure FTP”,从这个名字就可以看出,开发者的初衷是确保代码的安全性。其主要功能是搭建FTP服务器,方便用户上传和下载文件。

abc15138565332的博客 332

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

安装vsftp流程整理

昨天装个FTP,发现之前写的一篇操作日志太简陋了,重新整理了下记在这儿 # 安装 VSFTP yum -y install vsftpd # 创建FTP日志文件路径 touch /var/log/vsftpd.log # 启动配置 chkconfig --list vsftpd # 如果是全off 则手动设置 0:off ...

weixin_33862993的博客 174

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

vsftp的三种登录身份测试

掌握ifconfighostnameping等网络命令的使用。熟悉vsftp的安装和配置方法。完成本章vsftp相关的所有案例,并记录笔记。查询资料,了解在Windows系统中部署FTP服务器的方法,例如使用serv-u。请注意,上述笔记是根据您提供的PPT内容整理的,实际操作时可能需要根据具体环境和配置进行调整。

qq_67428120的博客 1175

vsftp的配置条目

vsftp在各用户模式中的通用配置。

捏磐火 凤凰巢 1190

linux下vsftp配置文档,linux下vsftp配置全方案.docx

PAGE / NUMPAGESLinux下VsFTP配置全方案纲要:一、VsFTPd的简述二、企业Linux下VsFTPD方案三、VsFTPD相关配置文件详解一、VsFTPd的简述VSFTP(Very Secure FTP Daemon,非常安全的FTP服务器)。顾名思义,VSFTPD设计的出发点就是安全性。同时随着版本的不断升级,VSFTPD在性能和稳定性上也取得了极大的进展。除了安全和性能方面...

weixin_39714383的博客 170

【五】Centos 7.6 安装vsftp服务

链接:https://blog.youkuaiyun.com/mengchuan6666/article/details/83758034 我们需要向centos操作系统的服务器上上传文件或者下载文件,查看是否安装: 这时候,ftp有必要安装下, 我们选择主流的vsftp: 第一步:安装vsftp yum install -y vsftpd 第二步:设置开机启动 systemct...

mrdonghe的博客 1853

Centos7下各种服务器安装

感慨又有一段时间没写文章了,之前说好的每周一篇,不得不感慨坚持真难。又一次重新开始,不知道这次能坚持多久。从最简单的开始吧,本文整理了自己在Centos7下安装各种服务器的步骤。内容如下,开启你的服务器安装旅程吧.VSFTP服务器1、安装 yum -y install vsftpd2、开机自启动 systemctl enable vsftpd3、 配置被动模式 vi /etc/vsf...

weixin_34281477的博客 638

Linux最全linux搭建ftp服务-ftp服务器搭建和ftp客户端使用(1),2024年教你增加拿到BAT等大厂offer几率

root@centos76_2 vsftpd]# vim localuser_list #创建不允许登陆的用户名,一行一个ccxsuperman1[root@centos76_2 userconfig]# vim superman1 #superman1是用户名#这个命令其实就是修改默认家目录的命令,后面是自定义路径[root@centos76_2 userconfig]# vim superman2 #superman2是用户名#这个命令其实就是修改默认家目录的命令,后面是自定义路径。

2401_84139908的博客 1028

linux与ubuntu下vsftp的安装使用

vsftp工具是linux与类linux系统上常用的ftp传输工具,按百度上的说法,它的不同点与好处有九点,不明觉厉,有兴趣的可以深入验证: 一、它是一个安全、高速、稳定的FTP服务器; 二、它可以做基于多个IP的虚拟FTP主机服务器; 三、匿名服务设置十分方便; 四、匿名FTP的根目录不需要任何特殊的目录结构,或系统程序或其它的系统文件; 五、不执行任何外部程序,从而减少...

banxianqiu2946的博客 182

vsftp配置

网上很多,但我还是想再整理一份属于自己的 1、vsftp简介 vsftp提供三种登陆方式:1.匿名登录 2.本地用户登录 3.虚拟用户登录 vsftpd的特点:1.较高的安全性需求 2.带宽的限制 3.创建支持虚拟用户 4.支持IPV6 5.中等偏上的性能 6.可分配虚拟IP 2、工作模式 Ftp协议中控制连接均是由客户端发起,而...

weixin_34150224的博客 93
上一篇: ssh学习整理笔记
下一篇: TCP/IP协议的三次握手及实现原理
马克吐温
博客等级 码龄10年 11粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值