在 Ubuntu 上搭建 FTPS(FTP over SSL/TLS)服务器 并正确设置用户,通常推荐使用 vsftpd。下面我从「安装 → 配置 FTPS → 创建用户 → 权限设置」一步步说明。
sudo apt update
sudo apt install vsftpd
安装完成后:
sudo systemctl status vsftpd
确保服务是 active (running)。
sudo openssl req -x509 -nodes -days 365 \
-newkey rsa:2048 \
-keyout /etc/ssl/private/vsftpd.pem \
-out /etc/ssl/private/vsftpd.pem
⚠️ 该证书是自签名的,生产环境建议使用 CA 证书。
编辑配置文件:
sudo nano /etc/vsftpd.conf
listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
# SSL / TLS
ssl_enable=YES
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
force_local_logins_ssl=YES
force_local_data_ssl=YES
pasv_min_port=40000
pasv_max_port=50000
保存后重启:
sudo systemctl restart vsftpd
sudo adduser ftpuser
设置密码后,该用户即可使用 FTPS 登录。
默认家目录:
/home/ftpuser
如果只希望该用户使用 FTP,不能 SSH:
sudo usermod -s /usr/sbin/nologin ftpuser
vsftpd 默认已启用:
chroot_local_user=YES
如需 例外用户(可切换目录):
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
然后在文件中加入用户名:
sudo nano /etc/vsftpd.chroot_list
admin
sudo ufw allow 21
sudo ufw allow 40000:50000/tcp
ftp://服务器IP确认:
write_enable=YES
allow_writeable_chroot=YES
/bin/bash 或 /usr/sbin/nologin)检查防火墙和 pasv_* 端口
如果你需要:
可以继续告诉我你的使用场景。