Ubuntu 上使用 vsftpd 上传文件的完整步骤
一 安装与基础配置
sudo apt update && sudo apt install vsftpdsudo cp /etc/vsftpd.conf /etc/vsftpd.conf.baksudo nano /etc/vsftpd.conflocal_enable=YES(允许本地系统用户登录)write_enable=YES(允许写操作,包含上传)sudo systemctl restart vsftpd && sudo systemctl enable vsftpd二 本地用户上传步骤与示例
sudo adduser ftpusersudo mkdir -p /home/ftpuser/uploadsudo chown ftpuser:ftpuser /home/ftpuser/uploadsudo chmod 755 /home/ftpuser/uploadftp 服务器IPcd /home/ftpuser/uploadlcd /path/to/local/dir(务必先切到含待上传文件的本地目录)put 文件名byelcd 切到文件所在目录;或直接使用绝对路径:put /abs/path/file。三 匿名用户上传配置(可选)
sudo mkdir -p /var/ftp/uploadsudo chown ftp:ftp /var/ftp/uploadsudo chmod 755 /var/ftp # 根目录不可写sudo chmod 777 /var/ftp/upload # 仅上传目录可写(可按需收紧)/etc/vsftpd.conf 中确保:
anonymous_enable=YESanon_upload_enable=YESanon_mkdir_write_enable=YESanon_root=/var/ftp(将匿名根目录指向 /var/ftp)sudo systemctl restart vsftpdcd uploadput 文件名四 防火墙与被动模式端口
/etc/vsftpd.conf 设置被动端口区间(示例):
pasv_enable=YESpasv_min_port=40000pasv_max_port=50000sudo ufw allow 21/tcpsudo ufw allow 40000:50000/tcpsudo ufw allow 990/tcpsudo ufw enable五 常见问题排查
sudo systemctl status vsftpdwrite_enable=YESchroot_local_user=YES,需同时设置 allow_writeable_chroot=YES,否则被锁定的家目录不可写lcd 切到本地文件所在目录,或用 put /abs/path/file