Ubuntu如何利用vsftp进行文件传输
导读:Ubuntu系统利用vsftpd进行文件传输的完整步骤 1. 安装vsftpd 在Ubuntu终端中执行以下命令,更新软件包列表并安装vsftpd: sudo apt update sudo apt install vsftpd -y 2...
Ubuntu系统利用vsftpd进行文件传输的完整步骤
1. 安装vsftpd
在Ubuntu终端中执行以下命令,更新软件包列表并安装vsftpd:
sudo apt update
sudo apt install vsftpd -y
2. 配置vsftpd
2.1 编辑主配置文件
使用文本编辑器(如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环境中的用户写入其主目录(避免权限错误)
- 被动模式设置(解决防火墙/NAT环境下的连接问题):
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)
2.2 保存并退出
在nano
编辑器中,按Ctrl+X
→Y
→Enter
保存配置并退出。
3. 重启vsftpd服务
使配置生效,重启vsftpd服务:
sudo systemctl restart vsftpd
设置服务开机自启(可选,但推荐):
sudo systemctl enable vsftpd
4. 配置防火墙
若系统启用了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 # 重新加载防火墙规则
5. 使用FTP客户端连接
5.1 图形界面客户端(推荐)
使用FileZilla
、WinSCP
等工具,输入以下信息连接:
- 主机:Ubuntu服务器的IP地址(如
192.168.1.100
) - 用户名:本地系统用户名(如
ubuntu
) - 密码:对应用户的登录密码
- 端口:
21
(默认FTP端口) - 模式:选择“被动模式”(PASV,避免主动模式被防火墙拦截)
连接成功后,可直观地拖拽文件实现上传/下载。
5.2 命令行客户端
若需使用命令行,安装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
常见问题排查
- 连接被拒绝:检查vsftpd服务是否运行(
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
并配置证书)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu如何利用vsftp进行文件传输
本文地址: https://pptw.com/jishu/719718.html