首页主机资讯Ubuntu vsftpd如何上传文件

Ubuntu vsftpd如何上传文件

时间2026-01-20 09:46:03发布访客分类主机资讯浏览231
导读:Ubuntu 上使用 vsftpd 上传文件的完整步骤 一 安装与基础配置 安装 vsftpd 执行:sudo apt update && sudo apt install vsftpd 备份并编辑配置文件 执行:...

Ubuntu 上使用 vsftpd 上传文件的完整步骤

一 安装与基础配置

  • 安装 vsftpd
    • 执行:sudo apt update & & sudo apt install vsftpd
  • 备份并编辑配置文件
    • 执行:sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
    • 编辑:sudo nano /etc/vsftpd.conf
  • 启用写入与本地登录(关键)
    • 确保包含或调整为:
      • local_enable=YES(允许本地系统用户登录)
      • write_enable=YES(允许写操作,包含上传)
  • 保存并重启服务
    • 执行:sudo systemctl restart vsftpd & & sudo systemctl enable vsftpd
  • 说明
    • vsftpd 默认使用 21/TCP 控制连接;若使用被动模式(PASV),还需开放数据端口区间(见下文防火墙)。

二 本地用户上传步骤与示例

  • 准备用户与目录
    • 新建用户并设置家目录(示例用户名为 ftpuser):
      • sudo adduser ftpuser
    • 为该用户准备可写目录(示例:/home/ftpuser/upload):
      • sudo mkdir -p /home/ftpuser/upload
      • sudo chown ftpuser:ftpuser /home/ftpuser/upload
      • sudo chmod 755 /home/ftpuser/upload
  • 登录与上传
    • 方式 A(命令行 ftp)
      • 连接:ftp 服务器IP
      • 登录:输入用户名 ftpuser 与密码
      • 切换远端目录:cd /home/ftpuser/upload
      • 切换本地目录:lcd /path/to/local/dir(务必先切到含待上传文件的本地目录)
      • 上传:put 文件名
      • 退出:bye
    • 方式 B(图形客户端 FileZilla)
      • 主机:服务器IP;端口:21
      • 协议:FTP - 明文(或选择 FTP over SSL/TLS 若已配置)
      • 登录类型:正常,输入 ftpuser 与密码
      • 在本地文件区选中文件,拖拽到远端 /home/ftpuser/upload 完成上传
  • 常见提示
    • 上传失败且提示“本地文件不存在”,多为未用 lcd 切到文件所在目录;或直接使用绝对路径:put /abs/path/file

三 匿名用户上传配置(可选)

  • 创建匿名根目录与可写子目录
    • 示例:sudo mkdir -p /var/ftp/upload
    • 安全做法:根目录只读,仅对上传目录授予写权限
      • sudo chown ftp:ftp /var/ftp/upload
      • sudo chmod 755 /var/ftp # 根目录不可写
      • sudo chmod 777 /var/ftp/upload # 仅上传目录可写(可按需收紧)
  • 配置 vsftpd 允许匿名写入
    • /etc/vsftpd.conf 中确保:
      • anonymous_enable=YES
      • anon_upload_enable=YES
      • anon_mkdir_write_enable=YES
      • 可选:anon_root=/var/ftp(将匿名根目录指向 /var/ftp)
  • 重启服务
    • sudo systemctl restart vsftpd
  • 客户端匿名登录与上传
    • 登录名:anonymous,密码直接回车
    • 进入上传目录:cd upload
    • 上传:put 文件名
  • 安全建议
    • 匿名上传仅开放必要目录,避免使用 777 过宽权限;生产环境谨慎启用匿名写入。

四 防火墙与被动模式端口

  • 若启用被动模式(推荐穿越 NAT/云厂商安全组)
    • /etc/vsftpd.conf 设置被动端口区间(示例):
      • pasv_enable=YES
      • pasv_min_port=40000
      • pasv_max_port=50000
  • 放行防火墙端口(UFW 示例)
    • 控制通道:sudo ufw allow 21/tcp
    • 被动数据端口:sudo ufw allow 40000:50000/tcp
    • 如使用显式 SSL/TLS:sudo ufw allow 990/tcp
    • 启用防火墙:sudo ufw enable
  • 云服务器安全组
    • 在控制台放行 21/TCP40000–50000/TCP(或你配置的范围)。

五 常见问题排查

  • 无法连接
    • 检查服务是否运行:sudo systemctl status vsftpd
    • 核对云服务器安全组与系统防火墙端口(21、PASV 区间、990/TLS)
  • 登录成功但上传失败(Permission denied)
    • 确认 write_enable=YES
    • 检查目标目录属主与权限(本地用户需对目录有写权限;匿名用户需对上传目录有写权限)
    • 若启用 chroot_local_user=YES,需同时设置 allow_writeable_chroot=YES,否则被锁定的家目录不可写
  • 目录切换与路径问题
    • 命令行 ftp 上传前用 lcd 切到本地文件所在目录,或用 put /abs/path/file
    • 上传目录不存在或不可写会导致失败
  • 安全性提示
    • FTP 明文传输,建议优先使用 SFTP/SSHFTPS;必要时开启日志以便审计。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu vsftpd如何上传文件
本文地址: https://pptw.com/jishu/786976.html
Ubuntu vsftpd下载速度慢怎么办 Ubuntu vsftpd端口怎么设置

游客 回复需填写必要信息