在 Debian 上搭建 FTP 服务器并开启匿名访问,最常用的是 vsftpd。下面给你一个清晰、可用的步骤。
sudo apt update
sudo apt install vsftpd
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
sudo nano /etc/vsftpd.conf
# 允许匿名登录
anonymous_enable=YES
# 匿名用户根目录(默认就是 /srv/ftp)
anon_root=/srv/ftp
# 允许匿名用户下载
anon_world_readable_only=NO
# 不允许匿名上传(如需上传见下方)
write_enable=YES
# 本地用户登录(可选)
local_enable=YES
# 禁止匿名用户写(默认安全)
anon_upload_enable=NO
anon_mkdir_write_enable=NO
ls -ld /srv/ftp
如果不存在:
sudo mkdir -p /srv/ftp
sudo chown root:root /srv/ftp
sudo chmod 755 /srv/ftp
放入测试文件:
echo "hello ftp" | sudo tee /srv/ftp/test.txt
sudo ufw allow 21/tcp
如果是云服务器,还需放行 被动端口(见下文)。
sudo systemctl restart vsftpd
sudo systemctl enable vsftpd
ftp localhost
登录时:
anonymous⚠️ 有安全风险,仅内网使用
anon_upload_enable=YES
anon_mkdir_write_enable=YES
并创建可写目录:
sudo mkdir /srv/ftp/upload
sudo chown ftp:ftp /srv/ftp/upload
sudo chmod 733 /srv/ftp/upload
如果客户端连上但列不出目录:
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
防火墙放行:
sudo ufw allow 30000:31000/tcp
如果你用的是 proftpd / pure-ftpd,或想做 只读匿名 + 本地用户写,我可以给你对应配置。