下面以 Debian 12(Bookworm) 为例,介绍如何安装和配置 FTP 服务器。最常用的方案是 vsftpd(Very Secure FTP Daemon),安全、稳定、配置简单。
以 root 或 sudo 用户执行:
sudo apt update
sudo apt install vsftpd -y
安装完成后,vsftpd 会自动启动。
查看状态:
sudo systemctl status vsftpd
配置文件路径:
/etc/vsftpd.conf
先备份原配置:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
编辑配置:
sudo nano /etc/vsftpd.conf
# 禁止匿名登录
anonymous_enable=NO
# 允许本地用户登录
local_enable=YES
# 允许上传文件
write_enable=YES
# 本地用户 umask
local_umask=022
# 禁止 chroot 目录可写报错
allow_writeable_chroot=YES
# 限制用户只能在自己的家目录
chroot_local_user=YES
# 启用日志
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
# 使用被动模式(推荐)
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
保存后退出(Ctrl+O → Enter → Ctrl+X)。
sudo systemctl restart vsftpd
sudo systemctl enable vsftpd
sudo adduser ftpuser
设置密码:
sudo passwd ftpuser
sudo mkdir -p /home/ftpuser/ftp
sudo chown ftpuser:ftpuser /home/ftpuser/ftp
sudo chmod 755 /home/ftpuser
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 30000:31000/tcp
sudo ufw reload
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 30000:31000 -j ACCEPT
ftp localhost
或使用客户端:
示例(命令行):
lftp ftp://ftpuser@服务器IP
local_enable=YESpasswd -S ftpusersudo tail -f /var/log/vsftpd.log
| 功能 | 说明 |
|---|---|
| 虚拟用户 | 更安全,不依赖系统用户 |
| TLS/SSL | 加密 FTP(FTPS) |
| 限速 | anon_max_rate / local_max_rate |
| 多用户隔离 | user_config_dir |
如果你需要 FTPS(加密) 或 虚拟用户配置,可以告诉我你的使用场景,我可以给你完整配置示例。