配置vsftpd服务

2024-03-30 16:28
文章标签 配置 服务 vsftpd

本文主要是介绍配置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> 

这篇关于配置vsftpd服务的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/861985

相关文章

QT Creator配置Kit的实现示例

《QTCreator配置Kit的实现示例》本文主要介绍了使用Qt5.12.12与VS2022时,因MSVC编译器版本不匹配及WindowsSDK缺失导致配置错误的问题解决,感兴趣的可以了解一下... 目录0、背景:qt5.12.12+vs2022一、症状:二、原因:(可以跳过,直奔后面的解决方法)三、解决方

SpringBoot路径映射配置的实现步骤

《SpringBoot路径映射配置的实现步骤》本文介绍了如何在SpringBoot项目中配置路径映射,使得除static目录外的资源可被访问,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一... 目录SpringBoot路径映射补:springboot 配置虚拟路径映射 @RequestMapp

sysmain服务可以禁用吗? 电脑sysmain服务关闭后的影响与操作指南

《sysmain服务可以禁用吗?电脑sysmain服务关闭后的影响与操作指南》在Windows系统中,SysMain服务(原名Superfetch)作为一个旨在提升系统性能的关键组件,一直备受用户关... 在使用 Windows 系统时,有时候真有点像在「开盲盒」。全新安装系统后的「默认设置」,往往并不尽编

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

SysMain服务可以关吗? 解决SysMain服务导致的高CPU使用率问题

《SysMain服务可以关吗?解决SysMain服务导致的高CPU使用率问题》SysMain服务是超级预读取,该服务会记录您打开应用程序的模式,并预先将它们加载到内存中以节省时间,但它可能占用大量... 在使用电脑的过程中,CPU使用率居高不下是许多用户都遇到过的问题,其中名为SysMain的服务往往是罪魁

mysql5.7.15winx64配置全过程

《mysql5.7.15winx64配置全过程》文章详细介绍了MySQL5.7.15免安装版的配置步骤,包括解压安装包、设置环境变量、修改配置文件、初始化数据目录、安装服务、启动数据库、登录及密码修改... 目录前言一、首先下载安装包二、安android装步骤1.第一步解压文件2.配置环境变量3.复制my-

Jenkins的安装与简单配置过程

《Jenkins的安装与简单配置过程》本文简述Jenkins在CentOS7.3上安装流程,包括Java环境配置、RPM包安装、修改JENKINS_HOME路径及权限、启动服务、插件安装与系统管理设置... 目录www.chinasem.cnJenkins安装访问并配置JenkinsJenkins配置邮件通知

Conda国内镜像源及配置过程

《Conda国内镜像源及配置过程》文章介绍Conda镜像源使用方法,涵盖临时指定单个/多个源、永久配置及恢复默认设置,同时说明main(官方稳定)、free(逐渐弃用)、conda-forge(社区更... 目录一、Conda国内镜像源二、Conda临时使用镜像源指定单个源临时指定多个源创建环境时临时指定源

MySQL配置多主复制的实现步骤

《MySQL配置多主复制的实现步骤》多主复制是一种允许多个MySQL服务器同时接受写操作的复制方式,本文就来介绍一下MySQL配置多主复制的实现步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录1. 环境准备2. 配置每台服务器2.1 修改每台服务器的配置文件3. 安装和配置插件4. 启动组复制4.