• centos7快速搭建ftp服务器


    在 CentOS 7 上使用 vsftpd 搭建 FTP 服务器

    准备工作:

    • 系统需为 CentOS 7
    • 需要具备根用户或 sudo 权限

    第 1 步:安装 vsftpd 和 FTP 客户端

    • 更新系统包(可选,但推荐):
      sudo yum update
      
      • 1
    • 安装 vsftpd
      sudo yum install vsftpd
      
      • 1
    • 安装 FTP 客户端(可选):
      sudo yum install ftp
      
      • 1

    第 2 步:配置 vsftpd

    • 备份原始配置文件(非常重要):
      sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.orig
      
      • 1
    • 编辑配置文件
      sudo vi /etc/vsftpd/vsftpd.conf
      
      • 1
      在文件中,用以下内容替换全部内容:
      # 基本的 vsftpd 配置
      anonymous_enable=NO
      local_enable=YES
      write_enable=YES
      local_umask=022
      dirmessage_enable=YES
      xferlog_enable=YES
      connect_from_port_20=YES
      xferlog_std_format=YES
      listen=NO
      listen_ipv6=YES
      pam_service_name=vsftpd
      userlist_enable=YES
      tcp_wrappers=YES
      chroot_local_user=YES
      chroot_list_enable=YES
      chroot_list_file=/etc/vsftpd.chroot_list
      allow_writeable_chroot=YES
      user_sub_token=$USER
      local_root=/data/ftpdata/$USER
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
    • 限制用户到指定目录
      为此,您需要在 vsftpd 配置文件中添加以下行:
      user_sub_token=$USER
      local_root=/data/ftpdata/$USER
      
      • 1
      • 2
      这将确保用户登录时被限制在 /data/ftpdata/ftpuser0 目录中。

    第 3 步:解决 vsftpd 错误

    如果出现错误 “500 OOPS: could not read chroot() list file:/etc/vsftpd.chroot_list”,执行以下操作:

    创建和配置 chroot 列表文件
    • 创建 chroot 列表文件
      sudo touch /etc/vsftpd.chroot_list
      
      • 1
    • 设置正确的权限
      sudo chmod 644 /etc/vsftpd.chroot_list
      
      • 1
    • 添加例外用户(如果有):
      如有不需限制的用户,将它们添加到此文件中,每行一个用户名。

    第 4 步:创建 FTP 用户和目录

    • 创建用户(如 ftpuser0):
      sudo adduser ftpuser0
      sudo passwd ftpuser0
      
      • 1
      • 2
      然后输入密码(例如 KS12YK)。
    • 创建和设置 FTP 目录
      sudo mkdir -p /data/ftpdata/ftpuser0
      sudo chown -R ftpuser0:ftpuser0 /data/ftpdata/ftpuser0
      sudo chmod -R 755 /data/ftpdata
      
      • 1
      • 2
      • 3

    第 5 步:配置防火墙

    如果启用了防火墙,需要允许 FTP 流量:

    sudo firewall-cmd --zone=public --add-port=21/tcp --permanent
    sudo firewall-cmd --zone=public --add-service=ftp --permanent
    sudo firewall-cmd --reload
    
    • 1
    • 2
    • 3

    第 6 步:启动和启用 vsftpd 服务

    sudo systemctl start vsftpd
    sudo systemctl enable vsftpd
    
    • 1
    • 2

    第 7 步:测试 FTP 访问

    通过在本地机器上使用 FTP 客户端测试访问:

    ftp <服务器IP地址>
    
    • 1

    然后使用用户名 ftpuser0 和密码登录。

    完成

    现在,您应该有一个在 CentOS 7 上运行的基本 FTP 服务器,用户 ftpuser0 被限制

  • 相关阅读:
    第十五届蓝桥杯模拟赛(第一期)
    Hadoop HA(高可用)部署
    数据分析-Pandas数据的直方图探查
    Linux:非root、普通用户安装fontconfig、fc-cache命令、中文字体
    react 生命周期讲解
    文心一言 VS 讯飞星火 VS chatgpt (131)-- 算法导论11.2 3题
    JAVASE语法零基础——Object类
    Netty 集群(Java)
    前端制作
    java计算机毕业设计作业自动评阅系统的设计和开发源码+数据库+系统+lw文档+mybatis+运行部署
  • 原文地址:https://blog.csdn.net/u011197085/article/details/134459771