首页主机资讯CentOS FTP服务器配置步骤详解

CentOS FTP服务器配置步骤详解

时间2025-11-28 16:57:03发布访客分类主机资讯浏览397
导读:CentOS FTP服务器配置步骤详解 一 环境准备与安装 更新系统并安装 vsftpd(Very Secure FTP Daemon): 命令:sudo yum update -y 命令:sudo yum install vsftpd...

CentOS FTP服务器配置步骤详解

一 环境准备与安装

  • 更新系统并安装 vsftpd(Very Secure FTP Daemon):
    • 命令:sudo yum update -y
    • 命令:sudo yum install vsftpd -y
  • 启动服务并设为开机自启:
    • 命令:sudo systemctl start vsftpd
    • 命令:sudo systemctl enable vsftpd
  • 说明:vsftpd 是 CentOS 上常用的 FTP 服务组件,后续配置均围绕其主配置文件 /etc/vsftpd/vsftpd.conf 进行。

二 核心配置 vsftpd.conf

  • 备份原始配置:sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
  • 建议的基础配置(编辑文件:sudo vi /etc/vsftpd/vsftpd.conf):
    • 监听与协议
      • listen=YES
      • listen_ipv6=NO
    • 身份与权限
      • anonymous_enable=NO(禁止匿名,生产推荐)
      • local_enable=YES(允许本地系统用户)
      • write_enable=YES(允许写操作)
      • local_umask=022(上传文件默认权限掩码)
    • 目录与隔离
      • chroot_local_user=YES(将本地用户限制在其主目录)
      • allow_writeable_chroot=YES(允许被 chroot 的目录可写,否则登录可能失败)
    • 用户访问控制
      • userlist_enable=YES
      • userlist_deny=NO(仅允许 /etc/vsftpd/user_list 中的用户登录)
      • 将允许登录的用户名写入:/etc/vsftpd/user_list
      • 禁止登录的系统账号写入:/etc/vsftpd/ftpusers
    • 被动模式(PASV,云服务器或存在 NAT 时强烈建议)
      • pasv_enable=YES
      • pasv_min_port=1024
      • pasv_max_port=1048
  • 保存后重启服务:sudo systemctl restart vsftpd
  • 提示:vsftpd 配置为“键=值”格式,等号两侧不要留空格;修改前先备份,变更后用 systemctl restart vsftpd 使配置生效。

三 防火墙与端口开放

  • 使用 firewalld(CentOS 常用):
    • 开放 FTP 服务:sudo firewall-cmd --permanent --add-service=ftp
    • 或显式开放端口:sudo firewall-cmd --permanent --add-port=20-21/tcp
    • 若启用了被动模式,放行数据端口范围:sudo firewall-cmd --permanent --add-port=1024-1048/tcp
    • 重载规则:sudo firewall-cmd --reload
  • 如使用云服务器,还需在云平台安全组放行 21/tcp1024–1048/tcp

四 创建用户与目录权限

  • 创建专用 FTP 用户(禁止登录 shell,更安全):
    • 命令:sudo useradd -m -s /sbin/nologin ftpuser
    • 设置密码:sudo passwd ftpuser
  • 目录与权限示例:
    • 指定共享目录(可选):sudo mkdir -p /data/ftp
    • 赋权:sudo chown -R ftpuser:ftpuser /data/ftp
    • 权限:sudo chmod -R 755 /data/ftp
    • 如需将该目录作为用户家目录,可在创建用户时使用 -d /data/ftp 指定,并再次确认权限与属主。
  • 说明:合理的属主与权限可避免“无法写入/创建目录”等问题,并降低安全风险。

五 加密传输与测试

  • 启用 SSL/TLS(FTPS)
    • 生成自签名证书(示例,有效期 365 天):
      • 命令:sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/vsftpd.pem -out /etc/pki/tls/certs/vsftpd.pem
    • 配置 vsftpd(/etc/vsftpd/vsftpd.conf):
      • ssl_enable=YES
      • allow_anon_ssl=NO
      • force_local_data_ssl=YES
      • force_local_logins_ssl=YES
      • ssl_tlsv1=YES
      • ssl_sslv2=NO
      • ssl_sslv3=NO
      • rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem
      • rsa_private_key_file=/etc/pki/tls/private/vsftpd.pem
    • 重启服务:sudo systemctl restart vsftpd
    • 客户端连接:使用支持 FTP over TLS 的客户端(如 FileZilla),端口 21,协议选择 FTPES
  • 连通性与功能性测试
    • 命令行测试:ftp your_server_ip(明文)或 lftp -u ftpuser -p your_password your_server_ip(建议用 TLS)
    • 验证:登录、列目录、上传/下载、创建目录、删除文件。
    • 日志排查:查看 /var/log/vsftpd.log 获取失败原因(如权限、被动端口未放行、SELinux 等)。

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


若转载请注明出处: CentOS FTP服务器配置步骤详解
本文地址: https://pptw.com/jishu/759182.html
CentOS FTP服务器配置中常见问题 如何解决CentOS FTP连接问题

游客 回复需填写必要信息