【图文教程】云服务器上,Linux安装VSFTPD组件及遇到的问题

news2024/11/19 20:27:16

服务器做迁移,从AXX云迁移到Txx云上,迁移的话,需要把图片服务器也迁移过去。之前使用的是VSFTPD这次也还用这个吧。这里就记录下FTP服务器安装及遇到的问题。

1:安装VSFTP组件

使用yum命令安装。安装命令如下:

yum -y install vsftpd

安装完成之后,会在/etc目录下多出一个vsftp目录。如下图:

2:创建ftp服务端对应的用户

我们知道,ftp服务器,可能会提供出去(虽然凯哥这里不会提供出去),给其他的三方人员使用,从数据及服务器安全角度来考虑,我们给ftp服务一个单独的用户。这个用户就是用来登录ftp服务器使用的。

用户可以任意。这里咱们就把这个用户叫ftpuser吧,Linux添加用户的命令公式:useradd 用户名。那么,咱们就套用公式,对应的添加用户命令就是:

useradd ftpuser

给新添加的用户ftpuser添加密码。Linux给某个用户添加密码的命令公式:passwd 用户名。所以,咱们套用这个添加用户的公式后命令就是:

passwd ftpuser

输入两次密码后,就修改密码成功了。

这样一用户就新建完成了。创建之后,就可以使用这个用户名及密码登录。登录后默认的访问路径就是:/home/ftpuser

3:开放对应的端口

因为这里使用的是云服务器,就找到对应的安全策略组,把21和22端口放开就可以了。

在对应的服务器详情中,找到安全组A某云)或者找到防火墙(T某云),因为凯哥这里使用的是T某云。所以就如下图所示了。点击添加规则就可以了。

如果是自己本地的,可以把防火墙的21和22端口打开。这里就不赘述了。

4:selinux的修改

一般是新服务器的话,selinux是自动关闭的。没有开启状态。使用下面的命令:

getsebool -a |grep ftp

可以看到,SElinux isdisabled。

如果你的服务器上,SElinux是开启的,可能会出现,外网可以访问,没目录返回,且也上传不了。这就是SElinux的原因。处理办法:

在执行完上面命令后,如果返回结果中,看到上图高亮的两个是off的话,就代表,没有开启外网访问。使用下面命令:

setsebool -P allow_ftpd_full_access on
setsebool -P ftp_home_dir on

将这两个设置为on。

5:vsftpd.conf的配置

关闭匿名访问权限

在/etc/vsftpd/vsftpd.conf文件中找到:anonymous_enable=YES。将这个YES修改成NO。

修改之后,重启ftp服务。重启命令:

service vsftpd restart

6:启动被动模式

这个被动默认是开启的。但是,被动的端口,可能是随机的。所以,我们需要指定一个端口范围。同样,在vsftp.conf文件中修改。在这个文件的最后面加上:

pasv_min_port=30000
pasv_max_port=30999

这个端口范围,可以随意指定,需要注意,1:不能和其他端口冲突;2:添加完成之后,记得重启vsftp服务。

因为新增加了端口范围,所以,同样需要在安全组策略或者防火墙将对应端口打开。

7:将VSFTPD的FTP服务设置成开机启动

如果,你不行,服务器重启之后,FTP服务就不能访问,或者每次重启服务器之后,都需要手动启动VSFTPD的话,可以将VSFTPD设置成随机启动的。使用命令:

chkconfig vsftpd on

8:验证

以上几步操作完整之后,可以进行验证了。在ftp目录下添加一个jpg文件。然后通过ip或者是配置了Nginx反向代理的话,可以通过域名或者Nginx的ip访问试试。

大家好,我是凯哥Java(kaigejava),乐于分享技术文章,欢迎大家关注“凯哥Java”或“kaigejava”(G**Z**H),及时了解更多。让我们一起学Java。也欢迎大家有事没事就来和凯哥聊聊~~~

在操作时候,遇到的问题如下:

①:使用代码上传

正常情况下,默认是21端口。如果21端口上传不了,你可以切换成22端口试试。

②:图片上传后,访问不了:

修改/etc/vsftpd/ftpuser

ftpusers里面是ftp默认拒绝的用户,如果要想系统用户,就把这个用户从ftpusers文件中删除。

在这里要注意,不要把/etc/pam.d/vsftpd里面的deny改成allow,不然你自己建立的用户就会报530 Login incorrect

好文章推荐

自定义注解系列教程

docker系列教程

分布式相关

凯哥推荐

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

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

相关文章

Ubuntu18.04 利用Systemback制作ISO系统镜像和还原

Ubuntu18.04 利用Systemback制作系统镜像和还原1、安装Systemback2、利用Systemback制作Live镜像3、 将大于4G的sblive文件转换成 ISO 文件(Systemback的界面中的转换选项不可用的情况)4、利用Systemback还原系统(利用Systemback还原系统出现…

一文详解 Linux Crontab 调度任务

最近接到这样一个任务: 定期(每天、每月)向“特定服务器”传输“软件服务”的运营数据,因此这里涉及到一个定时任务,计划使用Python语言添加Crontab依赖写一个定时任务的脚本,实现每天、每月向服务器上传运营数据。 这篇文章是我在…

界面控件DevExpress WPF中文指南 - 用主题设计器的后台视图升级主题

DevExpress WPF拥有120个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。DevExpress WPF的Theme…

Chevereto v4 专业版搭建个人图床图文教程(博主自用)

Chevereto 是一个优秀的图床程序,有免费版和付费版之分,目前,Chevereto 已更新至 V4 版本,今天为大家分享一下使用 Chevereto v4 最新专业版搭建个人图床的过程。1. 准备工作PHP 版本要求 8.0 及以上,MySQL 版本支持 5…

.net5项目集成百度富文本编辑器umeditor最全教程(含源码)

目前百度的umeditor已经停止维护了,net版本的分支源码包也停留在了net farmework4左右的版本,对于想要集成这款富文本编辑器到net5平台,具有较大难度,主要体现在以下几个方面:umeditor源码需要改造,需要具有…

【每日随笔】北京 MBA 学校选择

文章目录一、第一梯队二、第二梯队三、第三梯队四、MBA 的全日制和非全日制区别一、第一梯队 第一梯队 MBA : 招人非常严格 , 本科学历背景 , 薪资 , 工作年限 , 管理年限 , 要求很高 ; 二、第二梯队 第二梯队 MBA : 对外经贸大学 MBA 推荐 对外贸易 相关行业 , 对英语要求较高…

Dubbo高级特性

dubbo-admin安装 ●dubbo-admin管理平台,是图形化的服务管理页面 ●从注册中心中获取到所有的提供者 /消费者进行配置管理 ●路由规则、动态配置、服务降级、访问控制、权重调整、负载均衡等管理功能 ●dubbo- admin是一个前后端分离的项目。前端使用vue&#xff0…

[NeurIPS 2022] 消除视觉Transformer与卷积神经网络在小数据集上的差距

本文简要介绍NeurIPS 2022录用的论文“Bridging the Gap Between Vision Transformers and Convolutional Neural Networks on Small Datasets”的主要工作。该论文旨在通过增强视觉Transformer中的归纳偏置来提升其在小数据集上从随机初始化开始训练的识别性能。本文通过多种操…

M1pro 下通过Docker 安装 Redis

Mac M1pro 下通过Docker 安装 Redis 1、Redis镜像拉取,最新版本的镜像 启动Docker,打开终端输入命令:docker pull redis:latest 耐心等待拉取完毕 2、查看本地镜像,Redis是否下载成功 命令:docker images 3、运行启…

又一重要进展发布!OpenMMLab算法仓支持昇腾AI训练加速

近日,上海人工智能实验室的浦视开源算法体系(OpenMMLab)团队基于昇腾AI发布了MMDeploy 0.10.0版本,该版本已支持OpenMMLab算法仓库在昇腾异构计算架构CANN上的推理部署。而在最新发布的MMCV 1.7.0和MMEngine 0.3.0版本中&#xff…

Vue3——第十二章(Props)

一、Props 声明 一个组件需要显式声明它所接受的 props&#xff0c;这样 Vue 才能知道外部传入的哪些是 props&#xff0c;哪些是透传 attribute在使用 <script setup> 的单文件组件中&#xff0c;props 可以使用 defineProps() 宏来声明&#xff1a; 在没有使用 <sc…

【寒假每日一题】DAY.5 调整奇数偶数顺序

题目内容&#xff1a; 调整数组使奇数全部都位于偶数前面。题目&#xff1a;输入一个整数数组&#xff0c;实现一个函数&#xff0c;来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分&#xff0c;所有偶数位于数组的后半部分。思路&#xff1a; 第一步&#xf…

【Java并发编程] 线程八锁问题

文章目录1.共享会出现什么问题2. 什么是临界区3. synchronized解决方案4 线程八锁1.共享会出现什么问题 首先&#xff0c;我们先了解对某一资源共享会出现什么问题&#xff0c;然后怎么解决这个问题。 两个线程对初始值为 0 的静态变量一个做自增&#xff0c;一个做自减&…

STM32单片机CAN总线汽车自动会车灯远近光切换

实践制作DIY- GC0121-汽车自动会车灯 一、功能说明&#xff1a; 基于51单片机设计-汽车自动会车灯 功能介绍&#xff1a; OLED主控板&#xff1a;STM32F103C系列最小系统OLED显示3个按键&#xff08;开关、自动/手动、近光/远光&#xff09;CAN通讯模块 光敏LED板&#xff1a…

房产管理系统架构分析

数图互通高校房产管理系统是基于公司自主研发的FMCenterV5.0平台&#xff0c;是针对中国高校房产的管理特点和管理要求&#xff0c;研发的一套标准产品&#xff1b;通过在中国100多所高校的成功实施和迭代&#xff0c;形成了一套成熟、完善、全生命周期的房屋资源管理解决方案。…

你的示波器只能抓到5%的波形?

采样时间、死区时间和捕获时间 数字示波器捕获信号的过程是典型的“采集-处理-采集-处理”&#xff0c;如图1所示为数字示波器的采集原理&#xff0c;一个捕获周期由采样时间和处理时间&#xff08;死区时间&#xff09;组成&#xff0c;如图2所示。 图1 示波器采集原理图 采…

Redis String 命令与实战

在前面的文章中&#xff0c;我们了解了 Redis 的基本功能&#xff0c;通过源码方式安装了 Redis&#xff0c;并搭建了 Redis 的源码运行环境。接下来将进入 “Redis 的实战应用篇”&#xff0c;在这部分我们将重点介绍 Redis 核心命令的使用&#xff0c;主要包括 Redis 中 Stri…

磨金石教育摄影技能干货分享|摄影师镜头下生活的色彩

在生活中也有很多亮丽的色彩&#xff0c;生活在我们看起来是平凡的&#xff0c;但其实每个地方每个人都会有不同的风景。不同的文化&#xff0c;不同的地域&#xff0c;这些都足以构造出不同的色彩。下面就让我们跟随镜头看看世界各地人民多姿多彩的生活。1 生活的色彩这是西孟…

ASP .Net Core内置 Identity 简介 使用

一、简介 1、概况 ASP.NET Core Identity是一个成员身份系统&#xff0c;可将用户注册和登录功能添加到 ASP.NET Core Web UI。 成员身份系统处理身份验证和授权问题。 身份验证涉及你的身份。 授权涉及允许你进行的操作。 因此&#xff0c;身份验证是授权的先决条件。 ASP .N…

js判断 数组中是否存在形同元素

上例子 flag true; //假设不重复&#xff1b; let arr [{ settingName: 渠道客户订单, settingCode: A1 },{ settingName: 户订单, settingCode: A1 },];for(let i 0;i < arr.length-1;i){ //循环开始元素 for(let j i 1;j < arr.length;j){ //循环后续所有元素 …