基于 Ubuntu 搭建 FTP 文件服务
一、FTP 简介
文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议。
1.1 VSFTPD 简介
VSFTPD(Very Secure FTP Daemon)是一款FTP服务器程序。特点是小巧轻快,安全易用。
二、安装环境
主机:阿里云ECS主机
系统:ubuntu 20.04 64位
三、VSFTPD 安装
3.1 vsftpd 安装
sudo apt-get install vsftpd -y
3.2 vsftpd 状态检查
systemctl status vsftpd.service
显示 active(running)说明 vsftpd 运行正常。
3.3 用户访问目录配置
3.3.1 新建用户文件夹
sudo mkdir /home/tilapia
说明:tilapia是新建的文件夹名,可以按照自己的喜好文件名自定义为其他的。
3.3.2 新建 txt 文档
sudo touch /home/tilapia/welcome.txt
说明:在tilapia文件夹中新建welcome.txt文档
3.3.3 新增用户 tilapia
sudo useradd -d /home/tilapia -s /bin/bash tilapia
说明:tilapia是新增的用户,可以按照自己的喜好自定义为其他名称。
3.3.4 为用户 tilapia 设置密码
sudo passwd tilapia
3.3.5 删除 pam.d 中的 vsftpd
sudo rm /etc/pam.d/vsftpd
说明:因为该配置文件会导致使用用户名登录 ftp 失败。
3.3.6 限制用户 tilapia 只能通过 ftp 登录
sudo usermod -s /sbin/nologin tilapia
3.3.7 修改 vsftpd.conf 权限
sudo chmod a+w /etc/vsftpd.conf
说明:赋予所有用户对vsftpd.conf具有写入的权限
3.3.8 修改 vsftpd.conf 文件中的配置
# 限制用户对主目录以外目录访问
chroot_local_user=YES
# 指定一个 userlist 存放允许访问 ftp 的用户列表
userlist_deny=NO
userlist_enable=YES
# 记录允许访问 ftp 用户列表
userlist_file=/etc/vsftpd.user_list
# 不配置可能导致莫名的530问题
seccomp_sandbox=NO
# 允许文件上传
write_enable=YES
# 使用utf8编码
utf8_filesystem=YES
说明:可直接将上面的配置添加到vsftpd.conf文件中最下方
3.3.9 在 etc 文件夹中新建 vsftpd.user_list 文件
sudo touch /etc/vsftpd.user_list
sudo chmod a+w /etc/vsftpd.user_list
3.3.10 把用户 tilapia 添加到 vsftpd.user_list
3.3.11 设置 tilapia 文件夹访问权限
sudo chmod a-w /home/tilapia
3.3.12 新建 public 文件夹
sudo mkdir /home/tilapia/public
3.3.13 设置 public 文件夹权限
sudo chmod 777 -R /home/tilapia/public
3.3.14 重启 vsftpd 服务
sudo systemctl restart vsftpd.service
四、ECS 主机设置
说明 :需要在安全组设置一下入方法的访问规则
五、测试 FTP
浏览器访问:ftp://公网IP
输入用户名/密码。