在 Ubuntu 上设置 FTP 服务,最常用、稳定且安全的方案是使用 vsftpd(Very Secure FTP Daemon)。下面我按从零开始的步骤给你说明,包括匿名/本地用户两种常见用法。
sudo apt update
sudo apt install vsftpd
安装完成后,服务一般会自启动:
sudo systemctl status vsftpd
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
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
pasv_min_port=30000
pasv_max_port=31000
说明:
anonymous_enable=NO:禁止匿名登录local_enable=YES:允许系统用户登录write_enable=YES:允许上传chroot_local_user=YES:限制用户只能访问自己的家目录sudo useradd -m ftpuser
sudo passwd ftpuser
设置密码后,该用户即可用 FTP 登录,默认目录为:
/home/ftpuser
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 30000:31000/tcp
sudo systemctl restart vsftpd
ftp localhost
编辑配置文件:
anonymous_enable=YES
anon_root=/srv/ftp
创建目录:
sudo mkdir -p /srv/ftp
sudo chown ftp:ftp /srv/ftp
/etc/passwd 中 shell 为 /bin/bash)添加:
allow_writeable_chroot=YES
如果只是为了传文件,更推荐:
需要我帮你配置 SFTP 或 FTPS(加密 FTP) 吗?