当前位置: 首页 > news >正文

Ubuntu FTP服务搭建与配置

目录

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方案。

http://www.xdnf.cn/news/1139455.html

相关文章:

  • LVS实验
  • 尚庭公寓----------分页查询
  • 基于MATLAB的极限学习机ELM的数据回归预测方法应用
  • 快速了解网络爬虫
  • 区块链之Casper协议背景、演变发展、运作机制和潜在风险
  • 切比雪夫不等式的理解以及推导【超详细笔记】
  • Python获取网页乱码问题终极解决方案 | Python爬虫编码处理指南
  • VSCode 配置 C# 开发环境完整教程(附效果截图)
  • 透过结构看时间——若思考清洗则表达有力
  • Qt初阶开发:QMediaPlayer的介绍和使用
  • 适配器模式 (Adapter Pattern)
  • 基于MATLAB的极限学习机ELM的数据分类预测方法应用
  • 闲庭信步使用图像验证平台加速FPGA的开发:第二十一课——高斯下采样后图像还原的FPGA实现
  • 嵌入式时钟系统
  • 产品经理如何绘制流程图
  • vue中的this.$set
  • Python元组(Tuple)指南
  • FastAdmin系统框架通用操作平滑迁移到新服务器的详细步骤-优雅草卓伊凡
  • 爬虫小知识
  • 【Lua】题目小练2
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘django’问题
  • vue-cli 模式下安装 uni-ui
  • JAVA面试宝典 -《Kafka 高吞吐量架构实战:原理解析与性能优化全攻略》
  • 图片上传实现
  • 多方案对比分析:后端数据加密策略及实践
  • Redis7 底层数据结构解析
  • Linux驱动14 --- 平台设备总线
  • JPA 与 MyBatis-Plus 数据库自增主键实现方案
  • GraphQL的N+1问题如何被DataLoader巧妙化解?
  • 【人工智能99问】梯度消失、梯度爆炸的定义、后果及规避手段?(7/99)