在 Ubuntu 上搭建 FTPS(FTP over SSL/TLS) 服务器时,权限设置通常涉及 系统用户权限、目录权限、vsftpd 配置 三部分。下面以最常见的 vsftpd + SSL 为例说明。
sudo apt update
sudo apt install vsftpd
生成证书(自签示例):
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/ssl/private/vsftpd.key \
-out /etc/ssl/certs/vsftpd.crt
编辑配置文件:
sudo nano /etc/vsftpd.conf
添加/修改:
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
rsa_cert_file=/etc/ssl/certs/vsftpd.crt
rsa_private_key_file=/etc/ssl/private/vsftpd.key
重启服务:
sudo systemctl restart vsftpd
sudo useradd -m ftpuser
sudo passwd ftpuser
sudo mkdir -p /home/ftpuser/ftp
sudo chown ftpuser:ftpuser /home/ftpuser/ftp
sudo chmod 750 /home/ftpuser/ftp
⚠️ 注意:
ftp)编辑 /etc/vsftpd.conf:
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
chroot_local_user=YES
用户被锁在 /home/ftpuser
sudo groupadd ftpgroup
sudo usermod -aG ftpgroup user1
sudo usermod -aG ftpgroup user2
sudo chgrp ftpgroup /srv/ftp/shared
sudo chmod 770 /srv/ftp/shared
write_enable=NO
或目录权限:
chmod 555 /home/ftpuser/ftp
sudo ufw allow 21
sudo ufw allow 40000:50000/tcp
vsftpd 中指定被动端口:
pasv_min_port=40000
pasv_max_port=50000
查看日志:
sudo tail -f /var/log/vsftpd.log
常见错误:
500 OOPS: chroot → 家目录权限不对write_enable=NO如果你能说明:
我可以给你一套可直接用的配置模板。