首页主机资讯如何用Ubuntu FTP Server进行文件共享

如何用Ubuntu FTP Server进行文件共享

时间2025-12-17 09:17:04发布访客分类主机资讯浏览678
导读:在 Ubuntu 上使用 vsftpd 搭建 FTP 文件共享 一 安装与基础配置 安装 vsftpd(Very Secure FTP Daemon) 执行:sudo apt update && sudo apt ins...

在 Ubuntu 上使用 vsftpd 搭建 FTP 文件共享

一 安装与基础配置

  • 安装 vsftpd(Very Secure FTP Daemon)
    • 执行:sudo apt update & & sudo apt install vsftpd -y
  • 备份并编辑配置文件
    • 执行:sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
    • 编辑:sudo nano /etc/vsftpd.conf
  • 常用基础配置(按你的需求二选一或组合)
    • 仅本地用户、可写、禁匿名(适合团队内网)
      • 建议值:
        • anonymous_enable=NO
        • local_enable=YES
        • write_enable=YES
        • chroot_local_user=YES
        • allow_writeable_chroot=YES(如你的 vsftpd 版本较老不支持该指令,可改用虚拟用户或放宽权限策略)
    • 只读匿名共享(适合向外部快速分发构建产物)
      • 建议值:
        • anonymous_enable=YES
        • local_enable=NO
        • write_enable=NO
        • anon_root=/home/cicd/workspace/build-images/
        • anon_download_enable=YES
        • anon_upload_enable=NO
        • anon_mkdir_write_enable=NO
        • anon_other_write_enable=NO
  • 保存后重启服务
    • 执行:sudo systemctl restart vsftpd & & sudo systemctl enable vsftpd
  • 说明
    • FTP 默认不加密;如需加密,可启用 FTPS(990/tcp) 或直接使用 SFTP(基于 SSH)

二 用户与共享目录

  • 创建系统用户与共享目录(本地用户模式)
    • 执行:
      • sudo adduser ftpuser
      • sudo mkdir -p /home/ftpuser/shared
      • sudo chown -R ftpuser:ftpuser /home/ftpuser/shared
  • 将用户根目录指向共享目录(可选)
    • /etc/vsftpd.conf 增加:
      • local_root=/home/ftpuser/shared
  • 只读匿名共享的目录与权限(匿名模式)
    • 建议目录:/home/cicd/workspace/build-images/
    • 建议权限:
      • 目录:chmod 755,文件:chmod 644
      • 确保匿名访问身份(常见为 nobody)对该目录具备读与执行权限(可将目录组设为 ftpusers 并把 nobody 加入该组,再设置组权限为 rx)。

三 防火墙与被动模式

  • UFW 放通端口
    • 控制连接:sudo ufw allow 21/tcp
    • 被动模式端口范围(示例开放 10000–10100):sudo ufw allow 10000:10100/tcp
    • 如需 FTPS:sudo ufw allow 990/tcp
    • 启用防火墙:sudo ufw enable
  • vsftpd 被动模式配置(建议固定端口范围)
    • /etc/vsftpd.conf 增加:
      • pasv_enable=YES
      • pasv_min_port=10000
      • pasv_max_port=10100
  • 说明
    • 主动模式需要服务器开放 20/tcp 数据端口;在 NAT/云环境中更推荐使用被动模式并固定端口范围,便于防火墙放行。

四 客户端连接与测试

  • 命令行测试
    • 本地用户:ftp < 服务器IP> ,用户名 ftpuser,输入密码后执行 lsgetput 测试下载/上传
    • 匿名用户:ftp < 服务器IP> ,用户名 anonymous,密码留空或任意,执行 lsget 测试只读下载
  • 图形化客户端
    • 使用 FileZilla,协议选 FTP(或 FTPS),输入主机、端口 21、用户名与密码连接并测试传输
  • 常见问题排查
    • 服务状态:sudo systemctl status vsftpd
    • 实时日志:sudo tail -f /var/log/vsftpd.log
    • 连接失败优先检查:防火墙端口、被动端口范围、目录权限、用户根目录与 chroot 设置。

五 安全与替代方案

  • 加固建议
    • 禁用匿名(内网可信环境除外)、启用 chroot 隔离、限制并发:max_clientsmax_per_ip
    • 启用 SSL/TLS(990/tcp) 或直接使用 SFTP(基于 SSH,系统通常已内置,更安全且易穿透 NAT/防火墙)
  • 何时考虑替代协议
    • 跨平台易用与权限控制:Samba(Windows/Unix 文件共享)
    • Linux/Unix 间高性能:NFS
    • 简单安全直连:SSHFS
  • 提示
    • 若需对外网开放,务必使用 FTPS/SFTP 并限制可写范围与速率,定期审计日志与用户权限。

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


若转载请注明出处: 如何用Ubuntu FTP Server进行文件共享
本文地址: https://pptw.com/jishu/773628.html
如何用Ubuntu FTP Server进行远程管理 Debian下MinIO如何进行故障排查

游客 回复需填写必要信息