您的位置:首页 > 编程语言 > PHP开发

阿里云服务器下安装ftp

2017-12-05 23:07 281 查看
最近需要在阿里云服务器上安装ftp,整个过程遇到了很多的坑,在这里记录一下。

Ubuntu上文件上传下载用到的工具是vsftpd,VSFTPD代表非常安全的文件传输协议守护程序,是一个开放源代码,轻量级,稳定,最安全,最快的FTP服务器的Unix和Linux操作系统。它是大多数Linux和Unix操作系统(例如RedHat,CentOS,Fedora和Ubuntu)的默认FTP服务器,同时支持IPv6和SSL,因此,我们可以使用VSFTPD来组织设置安全的FTP服务器。它是根据GPL许可的,完全免费。

安装vsftpd

vsftpd 默认是存在于Ubuntu的软件仓库中的,所以只需要在使用命令直接安装即可:

sudo apt-get install vsftpd


创建FTP用户

为FTP创建特定用户,一是为了避免匿名用户登录,二是禁止用户越权访问其它文件目录内容。

FTP用户拥有以下特性:

禁止SSH登陆到系统,只允许FTP登录

禁止访问非当前用户目录下的内容

# 新建用户以及对应的用户目录,禁止登录系统
sudo useradd -d /home/[username] -s /sbin/nologin -m [username]
# 更改密码
sudo passwd [username]
# 调整权限
sudo chmod a-w /home/[username]
# 创建data目录,避免500错误。
# data目录为ftp上传目录
sudo mkdir /home/[username]/data
sudo chown -R [username]:[username] /home/[username]/data


创建文件 /etc/vsftpd.allowed_users,写入新建的用户运行该用户FTP登录:

# 创建文件
touch /etc/vsftpd.allowed_users
# 编辑文件
nano /etc/vsftpd.allowed_users
# 写入新建用户名并重启vsftpd
# [username]
sudo service vsftpd restart


配置FTP

vsftpd的配置文件位于: /etc/vsftpd.conf。

通过编辑该文件完成以下几项配置:

# 禁止匿名用户
anonymous_enable=NO
# 允许写入
write_enable=YES
# ascii编码上传下载
ascii_upload_enable=YES
ascii_download_enable=YES
# 欢迎提示
ftpd_banner=您正在登录的是IOT-SERVER前置机FTP服务
# 用户只能访问限制的目录
chroot_local_user=YES
# 用户登录后默认目录
local_root=/home/usftper/data
# 是否使用被动模式的数据连接,如果客户机在防火墙后,请开启为YES
pasv_enable=YES
# 设置被动模式后的数据连接端口范围在n和m之间,建议为50000-60000端口
# 别忘了阿里控制台ESC中安全组运行TCP端口:50000/60000
pasv_min_port=50000
pasv_max_port=60000
# 末尾新增:只允许对应用户
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/vsftpd.allowed_users


保存退出,重启FTP服务。

sudo service vsftpd restart


注:若出现530Loginincorrect.错误:使用一下方法解决

# 编辑文件
sudo nano /etc/pam.d/vsftpd
# 注释禁用以下内容
# auth    required pam_shells.so


保存重启FTP服务

在阿里云安全组内添加添加安全规则



参考链接:阿里云服务器ESC环境(三) - FTP配置
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: