Ubuntu系统利用vsftpd进行文件传输的完整步骤
在Ubuntu终端中执行以下命令,更新软件包列表并安装vsftpd:
sudo apt update
sudo apt install vsftpd -y
使用文本编辑器(如nano
)打开vsftpd的主配置文件:
sudo nano /etc/vsftpd.conf
修改或添加以下关键配置项(取消行首注释#
,若未注释则直接修改值):
anonymous_enable=NO # 禁止匿名用户登录(增强安全性)
local_enable=YES # 允许本地系统用户登录
write_enable=YES # 允许本地用户上传、修改、删除文件
local_umask=022 # 设置上传文件的默认权限掩码(文件权限为644,目录为755)
chroot_local_user=YES # 将本地用户限制在其主目录(如/home/username),防止访问系统其他目录
allow_writeable_chroot=YES # 允许chroot环境中的用户写入其主目录(避免权限错误)
pasv_enable=YES # 启用被动模式(PASV)
pasv_min_port=50000 # 被动模式数据连接的最小端口(建议设置为1024以上)
pasv_max_port=50100 # 被动模式数据连接的最大端口
userlist_enable=YES # 启用用户列表功能(需配合user_list文件使用)
tcp_wrappers=YES # 启用TCP Wrappers访问控制(通过/etc/hosts.allow/hosts.deny限制IP)
在nano
编辑器中,按Ctrl+X
→Y
→Enter
保存配置并退出。
使配置生效,重启vsftpd服务:
sudo systemctl restart vsftpd
设置服务开机自启(可选,但推荐):
sudo systemctl enable vsftpd
若系统启用了ufw
防火墙,需允许FTP流量(包括主动模式的20/21端口和被动模式的端口范围):
sudo ufw allow 20/tcp # FTP数据传输端口(主动模式)
sudo ufw allow 21/tcp # FTP控制连接端口
sudo ufw allow 50000:50100/tcp # 被动模式端口范围
sudo ufw reload # 重新加载防火墙规则
使用FileZilla
、WinSCP
等工具,输入以下信息连接:
192.168.1.100
)ubuntu
)21
(默认FTP端口)连接成功后,可直观地拖拽文件实现上传/下载。
若需使用命令行,安装ftp
工具并连接:
sudo apt install ftp -y # 安装ftp客户端(Ubuntu默认可能未安装)
ftp your_server_ip # 输入服务器IP地址
连接后,输入用户名和密码登录。常用命令:
put 本地文件路径 远程文件路径
(如put ~/test.txt /home/ubuntu/test.txt
)get 远程文件路径 本地文件路径
(如get /home/ubuntu/test.txt ~/downloaded_test.txt
)ls
lcd ~/local_dir
(切换本地工作目录)bye
或quit
sudo systemctl status vsftpd
),防火墙是否允许FTP端口。chmod 755 /home/username
),且allow_writeable_chroot=YES
已设置。pasv_min_port
~pasv_max_port
)已在防火墙中开放。通过以上步骤,即可在Ubuntu系统上使用vsftpd实现安全的文件传输。如需更高安全性,建议启用SSL/TLS加密(修改ssl_enable=YES
并配置证书)。