阿里云ECS下FTP服务的搭建

1、前言

公司最近需要在阿里云服务器搭建一个FTP服务,用了一天的时间,踩了好多坑,终于把FTP服务搭建成功
于是决定把这次搭建步骤和踩过的坑记录下来。
vsftpd 是 Linux 下的一款小巧轻快、安全易用的 FTP 服务器软件,
是一款在各个 Linux 发行版中最受推崇的 FTP 服务器软件。

2、环境

  ubuntu 14.04

3、安装步骤

3.1 安装 vsftpd

1.首先更新安装源,执行以下命令
sudo apt-get update
2、安装vsftpd
    sudo apt-get install vsftpd
3.判断vsftpd是否安装成功,可以采取以下方法查看
    vsftpd -v
    #vsftpd: version 3.0.2
    sudo service vsftpd restart
    ##vsftpd stop/waiting
    ##vsftpd start/running, process 15077

4、修改ftp登陆密码
vsftpd安装完成后会自动创建一个用户:ftp ,和一个默认的ftp文件夹,目录在/srv/ftp.
修改该用户密码

sudo passwd ftp

3.2 修改配置文件

配置文件目录在 /etc/vsftpd.conf

vi vsftpd.conf
# 是否允许监听。
# 如果设置为YES,则vsftpd将以独立模式运行,由vsftpd自己监听和处理IPv4端口的连接请求
listen=YES
#禁止匿名用户登录
anonymous_enable=NO
# 若只允许匿名用户访问,前面加上#注释掉即可阻止本地用户访问FTP服务器
local_enable=YES
#是否允许本地用户对FTP服务器文件具有写权限,默认设置为YES允许
write_enable=YES
#本地用户上传文件的权限
local_umask=022
# 默认情况该日志文件为/var/log/vsftpd.log,也可以通过下面的xferlog_file选项对其进行设定
# 默认值为NO
xferlog_enable=YES
# /var/log/vsftpd.log是默认的,也可以另设其它
#xferlog_file=/var/log/vsftpd.log

重启ftp服务后登录出现以下错误

响应: 331 Please specify the password.
命令: PASS ******
响应: 530 Login incorrect.
错误: 严重错误: 无法连接到服务器

修改 /etc/pam.d/vsftpd

vi  /etc/pam.d/vsftpd
#将下边语句注释掉
#auth   required        pam_shells.so

重启服务
出现以下错误

命令: PASV
响应: 227 Entering Passive Mode (47,94,58,33,84,46).

是由于阿里云防火墙导致的,开放阿里云安全组端口规则,并设置pasv端口范围

vi /etc/vsftpd
#添加以下配置
pasv_enable=YES
#允许最小端口分配PASV方式数据连接。你可以定义一个端口范围允许通过防火墙
pasv_min_port=33300
#允许最大端口分配PASV方式数据连接。你可以定义一个窄的端口范围允许通过防火墙
pasv_max_port=33370

重启ftp服务
连接成功如下图:

阿里云ECS下FTP服务的搭建_第1张图片

但是发现ftp用户可以进行任意的目录跳转进行下载
继续编辑配置文件

#用户不能访问上层目录
chroot_local_user=YES
#下边选项可以设定用户根目录路径
local_root=/srv/ftp/data

重启服务 FTP服务正常。
阿里云ECS下FTP服务的搭建_第2张图片

4、删除ftp服务

sudo apt-get remove --purge vsftpd

你可能感兴趣的:(unix)