centos7快速搭建ftp服务器

不管现实多么惨不忍睹,都要持之以恒地相信,这只是黎明前短暂的黑暗而已。不要惶恐眼前的难关迈不过去,不要担心此刻的付出没有回报,别再花时间等待天降好运。真诚做人,努力做事!你想要的,岁月都会给你。centos7快速搭建ftp服务器,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

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

准备工作:

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

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

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

第 2 步:配置 vsftpd

  • 备份原始配置文件(非常重要):
    sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.orig
    
  • 编辑配置文件
    sudo vi /etc/vsftpd/vsftpd.conf
    

    在文件中,用以下内容替换全部内容:

    # 基本的 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
    
  • 限制用户到指定目录
    为此,您需要在 vsftpd 配置文件中添加以下行:
    user_sub_token=$USER
    local_root=/data/ftpdata/$USER
    

    这将确保用户登录时被限制在 /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
    
  • 设置正确的权限
    sudo chmod 644 /etc/vsftpd.chroot_list
    
  • 添加例外用户(如果有):
    如有不需限制的用户,将它们添加到此文件中,每行一个用户名。

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

  • 创建用户(如 ftpuser0):
    sudo adduser ftpuser0
    sudo passwd ftpuser0
    

    然后输入密码(例如 KS12YK)。

  • 创建和设置 FTP 目录
    sudo mkdir -p /data/ftpdata/ftpuser0sudo chown -R ftpuser0:ftpuser0 /data/ftpdata/ftpuser0sudo chmod -R 755 /data/ftpdata

第 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

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

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

第 7 步:测试 FTP 访问

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

ftp <服务器IP地址>

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

完成

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/181536.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!