FTP —— vsftpd

news/2025/10/21 17:24:35/文章来源:https://www.cnblogs.com/karl-python/p/19155929

FTP —— vsftpd

在 CentOS 上搭建一个安全可用的 FTP 服务器,最常用和推荐的工具是 ​vsftpd(Very Secure FTP Daemon)。

📦 安装 vsftpd

  1. ​安装软件​

    • sudo yum update -y
      sudo yum install vsftpd -y

       

  2. 核心配置:编辑/etc/vsftpd.conf
    • # 禁用匿名登录(重要安全设置)
      anonymous_enable=NO
      # 允许本地系统用户登录
      local_enable=YES
      # 允许用户上传/删除文件等写操作
      write_enable=YES
      # 将用户限制在其家目录中,防止其访问系统其他目录
      chroot_local_user=YES
      # 允许在"chroot"禁锢的目录中进行写操作
      allow_writeable_chroot=YES# 启用被动模式(PASV),对于通过防火墙或NAT连接非常重要)
      pasv_enable=YES
      # 设置被动模式使用的端口范围(方便防火墙配置)
      pasv_min_port=30000
      pasv_max_port=31000
      # 如果服务器有公网IP,或在NAT后,可在此指定服务器的公网IP地址
      # pasv_address=你的公网IP

      修改配置文件后,​必须重启 vsftpd 服务以使更改生效 

      systemctl restart vsftpd
  3. 创建FTP用户
    • useradd -m ftpuser
      passwd ftpuser
      chmod 750 /home/ftpuser

       

  4. 配置防火墙
    • # 放行FTP服务(控制端口21)
      sudo firewall-cmd --permanent --add-service=ftp
      # 放行为被动模式指定的端口范围
      sudo firewall-cmd --permanent --add-port=30000-31000/tcp
      # 重新加载防火墙规则
      sudo firewall-cmd --reload

       

  5. 启动服务
    • sudo systemctl start vsftpd
      sudo systemctl enable vsftpd

       

  6. 连接测试
    • ​使用 FTP 客户端软件​(如 ​FileZilla, WinSCP):这是最常用的方式。

      • ​主机​:填写你的 CentOS 服务器的 IP 地址。

      • ​协议​:选择 FTPFTP - 文件传输协议

      • ​加密​:选择“不使用加密”或“普通FTP”(我们稍后会配置加密)。

      • ​用户/密码​:填写刚才创建的 ftpuser及其密码。

      • ​端口​:默认为 21

    • 使用命令行测试​(在服务器本机或另一台 Linux 机器上):
      • ftp 你的服务器IP
        # 然后输入用户名和密码

         

🛡️ 安全加固(强烈推荐)

基础功能可用后,强烈建议进行以下安全加固:

  1. ​启用 TLS/SSL 加密(FTPS)​​:让数据传输变得加密,避免密码和文件内容明文传输

    • 生成 SSL 证书:

      • sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/vsftpd.key -out /etc/pki/tls/certs/vsftpd.crt

         

    • /etc/vsftpd.conf中添加:
      • ssl_enable=YES
        rsa_cert_file=/etc/pki/tls/certs/vsftpd.crt
        rsa_private_key_file=/etc/pki/tls/private/vsftpd.key
        allow_anon_ssl=NO
        force_local_data_ssl=YES
        force_local_logins_ssl=YES

         

    • 重启服务:sudo systemctl restart vsftpd。之后在客户端(如 FileZilla)连接时,需要选择“显式 FTP over TLS”加密方式
  2. 处理 SELinux​:如果您的系统启用了 SELinux(默认通常开启),可能需要调整策略以确保文件上传等功能正常

    • 允许 FTP 访问家目录:
    • sudo setsebool -P ftp_home_dir 1

       

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/942479.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

博弈树

模型介绍 博弈树是描述序贯博弈的数学工具,它将博弈过程表示为树形结构:节点:表示博弈状态; 边:表示玩家的行动; 叶子节点:表示博弈结束状态,包含收益值。在两人零和博弈中,博弈树通常包含:MAX节点:最大化玩…

在一台机器上搭建一体化 Ceph 存储集群

概述 Ceph 是一个开源的软件定义存储平台,它在单个分布式计算机集群上实现对象存储,并提供对象级、块级和文件级存储的三合一接口。Ceph 存储集群由 Ceph 监视器、Ceph 管理器、Ceph 元数据服务器和 OSD 组成,它们协…

2025年硅锰合金厂家推荐排行榜,硅锰合金颗粒,硅锰合金粉,高纯度硅锰合金材料源头厂家深度解析

2025年硅锰合金厂家推荐排行榜,硅锰合金颗粒,硅锰合金粉,高纯度硅锰合金材料源头厂家深度解析 一、行业背景与发展趋势 硅锰合金作为钢铁冶炼过程中不可或缺的脱氧剂和合金添加剂,在冶金工业中占据重要地位。随着钢…

byte,short,int,Long,char数据类型复习

byte,short,int,Long,char数据类型复习byte, short, int, Long, char数据类型复习 package com.kun.base;/**byte的取值范围:-128~127(-2的7次方到2的7次方-1)short的取值范围:-32768~32767(-2的15次方到…

PyCharm下载安装教程及激活步骤(附安装包)超详细保姆级教程

目录一、PyCharm 2024 到底是啥?写 Python 为啥都用它?二、PyCharm 2024下载及安装准备2.1 电脑需满足这些条件2.2 下载PyCharm 2024三、PyCharm 2024 安装与激活步骤(详细分步)3.1 解压 PyCharm 2024 安装包3.2 解…

2025 年活性炭源头厂家最新推荐榜,技术实力与市场口碑深度解析,筛选优质可靠品牌颗粒/柱状/粉末/煤质/木质活性炭

引言 当前活性炭市场虽蓬勃发展,但乱象丛生,部分厂家用劣质原料降低成本,导致产品吸附性能不稳定,无法满足食品、医药等高端领域需求;落后生产工艺不仅效率低,还高碳排放,违背绿色发展趋势;品控缺失使产品关键…

2025年手持光谱仪厂家推荐排行榜,光谱分析仪,便携式光谱仪,矿石元素分析仪,合金金属不锈钢铝合金,贵金属三元催化检测设备公司精选

2025年手持光谱仪厂家推荐排行榜:光谱分析技术革新与选购指南 手持光谱仪作为现代工业检测领域的重要工具,在材料分析、质量控制和科研检测中发挥着不可替代的作用。随着技术的不断进步,2025年的手持光谱仪市场呈现…

Windows下利用 Python OCR 识别电子发票(增值税专用发票)(使用 GhostScript 和 Tesseract )

在早起Python公众号下,作者陈熹的解放双手|Python 批量自动提取、整理 PDF 发票!文章中,看到根据坐标识别图片的方法,觉得代码不是太详细。 试着在windows下重现,如下。 所需 requirements.txt 可以是 # Wand - …

2025年臭氧检测仪厂家权威推荐榜:在线式/固定式/便携式/手持式/工业臭氧检测仪专业选购指南

2025年臭氧检测仪厂家权威推荐榜:在线式/固定式/便携式/手持式/工业臭氧检测仪专业选购指南 一、行业技术发展现状与趋势 随着工业安全与环境保护意识的不断提升,臭氧检测仪作为关键的气体监测设备,在半导体制造、水…

✨WPF编程基础【2.2】:布局面板实战 - 详解

✨WPF编程基础【2.2】:布局面板实战 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &quo…

2025年拖鞋机厂家权威推荐榜:酒店拖鞋生产线,全自动拖鞋机,一次性拖鞋机,酒店一次性拖鞋机器专业选购指南

2025年拖鞋机厂家权威推荐榜:酒店拖鞋生产线,全自动拖鞋机,一次性拖鞋机,酒店一次性拖鞋机器专业选购指南 行业背景与发展趋势 随着全球酒店业的快速发展和卫生标准的不断提升,一次性拖鞋作为酒店必备用品,其生产…

2025年不锈钢酸洗钝化液厂家推荐排行榜:环保型不锈钢清洗钝化液,不锈钢管酸洗钝化处理,不锈钢清洗剂专业选购指南

2025年不锈钢酸洗钝化液厂家推荐排行榜:环保型不锈钢清洗钝化液,不锈钢管酸洗钝化处理,不锈钢清洗剂专业选购指南 行业背景与发展趋势 随着制造业转型升级和环保政策趋严,不锈钢表面处理行业正经历深刻变革。不锈钢…

达梦8加密函数是什么怎么调用,达梦数据库加密算法

达梦数据库透明加密方法,可以分为全库加密、表空间加密、日志加密。 全库加密和日志加密,只有在初始化实例的时候配置生效。 配置了全库加密,则所有表空间也是加密的,不允许表空间再单独加密。 DB用户使用加密表空…

电话呼叫软件网页版实测报告:体验、稳定性与推荐名单

在呼叫中心、客服外呼、销售跟进等业务场景中,电话呼叫软件已成为企业的“标配工具”。但近年来,随着企业信息化转型的深入,越来越多的团队开始从传统的本地安装系统,转向部署更轻量、更灵活的网页版电话呼叫软件。…

【2025最新】ArcGIS for JS 实现地图卷帘效果,动态修改参数(进阶版) - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

基于Windows,Docker用法

1、安装Docker Desktop2、打开Docker Desktop,查找Images来Pull安装node:latestnginx:latest3、挂载本地目录 docker run -it --rm -v F:/demo:/app -w /app -p 5173:5173 node:latest bash # -v:与 /app 相互映射# …

厨房电子秤方案:厨房秤常规的功能有那些?

厨房秤的常规功能围绕精准称重和便捷操作两大核心设计,覆盖从基础称重到辅助烹饪的多个场景,满足日常家用和轻度专业需求。这些功能看似基础,却能大幅提升烹饪的精准度和效率,尤其适合烘焙、减脂餐制作等对食材重量…

Pandas -

Pandas - import pandas as pd import numpy as npdf_tables = pd.read_csv(tables.csv, names=[table_name], header=None)df_tables[split_list] = df_tables[table_name].str.split(_)df_tables[layer] = np.where(…

A-Beta 剪枝

模型介绍 Alpha-Beta 剪枝是极小化极大算法(Minimax)的优化版本,用于两人零和博弈的决策树搜索。它通过剪枝来减少需要评估的节点数量,同时保证找到与 Minimax 算法相同的最优解。 核心思想:Alpha:MAX 玩家能保证…

MySQL 死锁 怎么处理?

一、什么是死锁(Deadlock) 定义:死锁是指两个或多个事务在执行过程中,互相占用资源且等待对方释放,导致事务都无法继续执行的状态。简单例子:事务A事务BUPDATE t1 SET ... WHERE id=1; UPDATE t1 SET ... WHERE …