首页主机资讯Ubuntu如何利用vsftp进行文件传输

Ubuntu如何利用vsftp进行文件传输

时间2025-10-04 07:14:04发布访客分类主机资讯浏览1002
导读: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+XYEnter保存配置并退出。

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 图形界面客户端(推荐)

使用FileZillaWinSCP等工具,输入以下信息连接:

  • 主机: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(切换本地工作目录)
  • 退出连接byequit

常见问题排查

  • 连接被拒绝:检查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
vsftp在Ubuntu上如何实现自动登录 Ubuntu如何排查vsftp服务器故障

游客 回复需填写必要信息