在 Ubuntu 上使用 vsftpd 搭建 FTP 文件共享
一 安装与基础配置
sudo apt update && sudo apt install vsftpd -ysudo cp /etc/vsftpd.conf /etc/vsftpd.conf.baksudo nano /etc/vsftpd.confanonymous_enable=NOlocal_enable=YESwrite_enable=YESchroot_local_user=YESallow_writeable_chroot=YES(如你的 vsftpd 版本较老不支持该指令,可改用虚拟用户或放宽权限策略)anonymous_enable=YESlocal_enable=NOwrite_enable=NOanon_root=/home/cicd/workspace/build-images/anon_download_enable=YESanon_upload_enable=NOanon_mkdir_write_enable=NOanon_other_write_enable=NOsudo systemctl restart vsftpd && sudo systemctl enable vsftpd二 用户与共享目录
sudo adduser ftpusersudo mkdir -p /home/ftpuser/sharedsudo chown -R ftpuser:ftpuser /home/ftpuser/shared/etc/vsftpd.conf 增加:
local_root=/home/ftpuser/shared/home/cicd/workspace/build-images/chmod 755,文件:chmod 644三 防火墙与被动模式
sudo ufw allow 21/tcpsudo ufw allow 10000:10100/tcpsudo ufw allow 990/tcpsudo ufw enable/etc/vsftpd.conf 增加:
pasv_enable=YESpasv_min_port=10000pasv_max_port=10100四 客户端连接与测试
ftp <服务器IP>,用户名 ftpuser,输入密码后执行 ls、get、put 测试下载/上传ftp <服务器IP>,用户名 anonymous,密码留空或任意,执行 ls、get 测试只读下载sudo systemctl status vsftpdsudo tail -f /var/log/vsftpd.log五 安全与替代方案
max_clients、max_per_ip