CentOS 7 下搭建 FTP 服务器,从安装到配置全攻略

admin
本文详细介绍了在 CentOS 7 系统下搭建 FTP 服务器的完整流程,文章首先通过 yum 安装 vsftpd 服务端软件,随后详细讲解了配置文件 /etc/vsftpd/vsftpd.conf 的修改,包括开启匿名登录、设置本地用户权限等,还涉及了防火墙和 SELinux 策略的配置,以及如何创建专用的 FTP 用户,确保服务器安全稳定运行。

在 Linux 服务器管理中,FTP(文件传输协议)是最经典、最常用的文件共享服务之一,无论是在企业内部文件传输,还是开发人员与服务器之间的代码同步,搭建一个稳定、安全的 FTP 服务器都是必备技能。

本文将详细介绍在 CentOS 7 环境下,如何从零开始搭建一个功能完善的 FTP 服务器,我们将使用目前最主流的 FTP 服务端软件 vsftpd


环境准备与安装

确保你的系统已经更新,并安装 vsftpd 软件包。

CentOS 7 下搭建 FTP 服务器,从安装到配置全攻略

  1. 更新系统软件源:

    yum update -y
  2. 安装 vsftpd:

    yum install -y vsftpd
  3. 设置开机自启:

    systemctl enable vsftpd

配置 vsftpd

安装完成后,我们需要编辑主配置文件,配置文件通常位于 /etc/vsftpd/vsftpd.conf

  1. 编辑配置文件: 使用 vivim 编辑器打开文件:

    vi /etc/vsftpd/vsftpd.conf
  2. 关键参数修改: 为了实现文件上传下载及安全访问,请确保以下参数设置正确(建议取消注释并修改):

    anonymous_enable=NO          # 禁止匿名登录(推荐,更安全)
    local_enable=YES             # 允许本地系统用户登录
    write_enable=YES             # 允许写入权限(包括上传、删除、重命名)
    dirmessage_enable=YES        # 显示目录消息
    xferlog_enable=YES           # 启用上传/下载日志
    connect_from_port_20=YES     # 使用 20 端口进行数据传输
    xferlog_std_format=YES       # 使用标准日志格式
    listen=NO                    # CentOS 7 建议设为 NO,配合 xinetd 使用(或者设为 YES 使用独立模式,此处以独立模式为例,通常建议改为 YES 以获得更好性能)
    pam_service_name=vsftpd      # PAM 认证模块名称
    userlist_enable=YES          # 启用用户列表控制
    tcp_wrappers=YES             # 支持 TCP wrappers
  3. 增加特殊配置(防止 500 错误): 为了防止出现 "500 OOPS: vsftpd: refusing to run with writable root inside chroot()" 错误,建议添加以下两行:

    allow_writeable_chroot=YES
    chroot_local_user=YES

    说明:chroot_local_user=YES 限制用户只能访问自己的家目录,增加安全性。


创建 FTP 用户

不要直接使用 root 用户登录 FTP,出于安全考虑,我们需要创建一个专用的 FTP 用户。

  1. 创建用户: 假设我们创建一个名为 ftpuser 的用户:

    useradd -d /var/ftp/test -s /sbin/nologin ftpuser
  2. 设置密码:

    passwd ftpuser
  3. 设置目录权限: FTP 用户默认对家目录没有写权限,我们需要赋予其所有权和读写权限:

    chown -R ftpuser:ftpuser /var/ftp/test
    chmod -R 755 /var/ftp/test
文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码