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服务
连接成功如下图:
但是发现ftp用户可以进行任意的目录跳转进行下载
继续编辑配置文件
#用户不能访问上层目录
chroot_local_user=YES
#下边选项可以设定用户根目录路径
local_root=/srv/ftp/data
重启服务 FTP服务正常。
4、删除ftp服务
sudo apt-get remove --purge vsftpd