在 Alibaba Cloud Linux 3 上安装 FTP 服务,可使用 vsftpd(Very Secure FTP Daemon)。
1. 安装 vsftpd
sudo dnf install -y vsftpd
2. 启动并启用服务
sudo systemctl enable --now vsftpd
3. 开放防火墙端口
sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --permanent --add-port=10090-10100/tcpsudo firewall-cmd --permanent --add-port=10090-10100/tcp
sudo firewall-cmd --reload
4. 配置 vsftpd
listen=YES
listen_ipv6=NO
anonymous_enable=NO # 禁用匿名登录
local_enable=YES # 允许本地用户登录
write_enable=YES # 允许写操作
local_umask=022 # 被动模式(
pasv_enable=YES
pasv_min_port=10090
pasv_max_port=10090
pasv_address=公网IP #服务器公网 IP! # 安全限制
chroot_local_user=YES # 用户锁定在家目录
allow_writeable_chroot=YES
xferlog_enable=YES xferlog_file=/var/log/vsftpd.log #日志
5. 创建 FTP 用户
sudo useradd -m -s /sbin/nologin ftpuser
sudo passwd ftpuser # 设置密码
sudo systemctl restart vsftpd
vsftpd 只接受以下大写的布尔值,不能有小写或空格# 开放 FTP 控制端口(21)
sudo firewall-cmd --permanent --add-port=21/tcp # 开放 PASV 数据端口范围
sudo firewall-cmd --permanent --add-port=10090-10100/tcp # 重载
sudo firewall-cmd --reload
sudo systemctl stop firewalld #关闭防火墙
6. 改用 SFTP
systemctl is-active sshd # 应返回 "active"
sudo useradd -m -s /sbin/nologin sftpuser # 创建专用用户
sudo passwd sftpuser
编辑 /etc/ssh/sshd_config,在末尾添加:
Match User sftpuser
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no