Ubuntu FTP服务搭建与配置

发布于:2025-07-22 ⋅ 阅读:(17) ⋅ 点赞:(0)

目录

1. 安装vsftpd

2. 配置vsftpd

关键配置修改:

3. 创建FTP专用用户

4. 设置目录权限

5. 防火墙放行端口

6. 重启服务

7. 客户端连接测试

常见问题排查

安全增强建议


        在Ubuntu系统中搭建FTP服务,推荐使用vsftpd(Very Secure FTP Daemon),它轻量、安全且易于配置。以下是详细步骤:


1. 安装vsftpd

sudo apt update
sudo apt install vsftpd

2. 配置vsftpd

编辑配置文件:

sudo nano /etc/vsftpd.conf
关键配置修改
# 禁止匿名登录(增强安全)
anonymous_enable=NO

# 允许本地用户登录
local_enable=YES

# 允许文件写入(上传/删除)
write_enable=YES

# 限制用户访问其主目录(防越权)
chroot_local_user=YES
allow_writeable_chroot=YES  # 允许被限制的用户写入

# 设置被动模式端口范围(避开常用端口)
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000

# 可选:启用用户列表白名单(更安全)
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list  # 白名单文件路径
userlist_deny=NO  # 仅允许白名单中的用户登录

3. 创建FTP专用用户

# 创建用户(无SSH登录权限)
sudo useradd -m ftpuser -s /usr/sbin/nologin
sudo passwd ftpuser  # 设置密码

# 将用户加入白名单
echo "ftpuser" | sudo tee -a /etc/vsftpd.user_list

4. 设置目录权限

# 用户主目录(例如 /home/ftpuser)
sudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser

# 创建上传目录并授权
sudo mkdir /home/ftpuser/upload
sudo chown ftpuser:ftpuser /home/ftpuser/upload
sudo chmod 775 /home/ftpuser/upload

5. 防火墙放行端口

# 开放FTP控制端口(21)和被动端口范围
sudo ufw allow 21/tcp
sudo ufw allow 30000:31000/tcp
sudo ufw reload

6. 重启服务

sudo systemctl restart vsftpd
sudo systemctl enable vsftpd  # 开机自启

7. 客户端连接测试

  • 命令行工具
    ftp your_server_ip
    # 输入用户名 ftpuser 和密码
    
  • 图形工具(如FileZilla):
    • 协议:FTP
    • 主机:服务器IP
    • 用户名/密码:ftpuser及其密码
    • 端口:21

常见问题排查

  1. 连接超时

    • 检查防火墙:sudo ufw status
    • 确认服务器IP是否正确,云服务器需检查安全组规则。
  2. 登录失败

    • 检查白名单:用户是否在/etc/vsftpd.user_list中。
    • 验证密码:sudo passwd ftpuser重设密码。
  3. 无法上传文件

    • 目录权限:确保上传目录(如upload)有写权限(chmod 775)。
    • 配置项:确认write_enable=YES

安全增强建议

  1. 启用TLS加密(FTPS)
    在配置中添加:

    ssl_enable=YES
    rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
    rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
    

    客户端需使用FTPS协议连接。

  2. 替代方案(更安全)

    • 使用 SFTP(基于SSH):无需额外安装,通过OpenSSH提供。
      sftp ftpuser@your_server_ip  # 直接使用SSH登录
      

        通过以上步骤,您已成功在Ubuntu上部署了安全的FTP服务。根据需求选择基础FTP或更安全的FTPS/SFTP方案。


网站公告

今日签到

点亮在社区的每一天
去签到