【图文教程】云服务器上,Linux安装VSFTPD组件及遇到的问题
服务器做迁移,从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
好文章推荐
【图文教程】云服务器上,Linux安装VSFTPD组件及遇到的问题的更多相关文章
- Linux安装vsftpd组件
1 安装vsftpd组件 安装完后,有/etc/vsftpd/vsftpd.conf 文件,是vsftp的配置文件. [root@hadoop1 ~]# yum -y install vsftpd 2 ...
- 云服务器 ECS Linux 安装 VNC Server 实现图形化访问配置说明
阿里云官方公共 Linux 系统镜像,基于性能及通用性等因素考虑,默认没有安装 VNC 服务组件.本文对常见操作系统下的 VNC Server 安装配置进行简要说明. 本文中仅讨论VNC的安装,关于图 ...
- 远程云服务器上docker安装redis的过程
首先明确一点,云服务环境你已经安装好了docker 1.进入docker hub官网查看你所需要的redis的版本信息 https://registry.hub.docker.com/
- 阿里云服务器上搭建seafile专业版
因为官方一键安装教程在阿里云服务器上无法安装,由于水平有限,无法解决,所以选择手动安装 参考资料: 1,.腾讯云搭建seafile服务器 2.How to Install Seafile with N ...
- 阿里云服务器上安装mysql的心路历程(博友们进来看看哦)
在阿里云花了100买了一台云服务器,配置如下: CPU: 1核 内存: 512MB 数据盘: 0G 带宽: 1Mbps 阿里云服务器安装mysql搞得我想吐血,搞了一个多星期,现在才搞好,而且,还有许 ...
- Linux学习2-在阿里云服务器上部署禅道环境
前言 以前出去面试总会被问到:测试环境怎么搭建?刚工作1-2年不会搭建测试环境还可以原谅自己,工作3-5年后如果还是对测试环境搭建一无所知,面试官会一脸的鄙视. 本篇以最简单的禅道环境搭建为例,学习下 ...
- 在阿里云服务器上安装完成并启动Tomcat后,通过http不能访问--解决办法
在阿里云服务器上安装完成并启动Tomcat后,通过http不能访问的原因是阿里云平台为了安全设置了安全组策略,必须我们授权的端口,其他计算机才能通过http访问 解决办法:(这里以阿里轻量应用服务器为 ...
- 在腾讯CentOS7.4云服务器上安装Docker,在Docker上安装配置MySQL、Tomcat和Nginx
提示:以下是在腾讯CentOS7.4云服务器上操作. Docker的基本操作:https://www.cnblogs.com/opsprobe/p/10963098.html 一.安装Docker # ...
- 在阿里云服务器上(centos 8) 安装自己的MQTT服务器 (mosquitto)
layout: post title: 在阿里云服务器上(centos 8) 安装自己的MQTT服务器 (mosquitto) subtitle: date: 2020-3-2 author: Dap ...
- 把linux云服务器上的文件放到本地电脑windows上-----secureCRT
1.本地电脑需要安装SecureCRT 2.在secureCRT上登录云端服务器,右键点击云端服务器上方的ip地址,选择"connect SFTP session" 3.在SFTP ...
随机推荐
- 全志T113-i+玄铁HiFi4开发板(双核ARM Cortex-A7 )规格书
评估板简介 创龙科技TLT113-EVM是一款基于全志科技T113-i双核ARM Cortex-A7 + 玄铁C906 RISC-V + HiFi4 DSP异构多核处理器设计的国产工业评估板,ARM ...
- Oracle 锁表查询和解锁方法
system登录 查询被锁表信息 select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, ...
- [oeasy]python0072_整数类型_int_integer_整型变量
帮助手册 回忆上次内容 上次了解的是 字符串 字符串 就是 字符的串 字符串长度 可以用 len函数 字符可以用下标索引 [] 可以用str 将整型数字 转化为 字符串 字符的长度本身 有 ...
- Top monitor[2.1.11] 开源
说明 本项目将转为开源项目. \(\text{GitHub}\) 仓库下载链接 \(|\) 项目初始化下载 \(|\) 项目编辑文件下载. 项目说明 声明:此项目由 \(\text{So_noSlac ...
- 01-初识springboot
目录 01,什么是springboot 02,如何使用springboot 01,什么是springboot springboot是一个基于spring框架开发出来的一个新的框架,目的是为了简化spr ...
- 【工具】SpringBoot项目如何查看某个maven依赖是否存在以及依赖链路
当我在SpringBoot项目中想加个依赖,但是不确定现有依赖的依赖的依赖.....有没有添加过这个依赖,怎么办呢?如果添加过了但是不知道我需要的这个依赖属于哪个依赖的下面,怎么查呢? IDEA中提供 ...
- axios传递参数的使用
今天在学习elasticsearch时,遇到一个问题:项目中前端采用的是Vue2+axios,后端的接口采用Restful风格来接收: 关于Resultful风格: 1. GET(SELECT):从服 ...
- 用了组合式 (Composition) API 后代码变得更乱了,怎么办?
前言 组合式 (Composition) API 的一大特点是"非常灵活",但也因为非常灵活,每个开发都有自己的想法.加上项目的持续迭代导致我们的代码变得愈发混乱,最终到达无法维护 ...
- 【Spring】02 过程分析
回顾JavaWeb三层架构设计: UserDao接口 public interface UserDao { void getUser(); } 实现类 public class UserDaoImpl ...
- 【MySQL】01 概念与介绍
视频节选自 :P1 - P7 https://www.bilibili.com/video/BV1xW411u7ax 用户浏览的页面 - 服务器 - 数据库 所有访问的本质的东西,就是访问数据,数据 ...