CentOS ftp服务搭建

好记性不如烂笔头

每次想要windows和linux互传文件时,都得去搜索“Linux ftp服务安装配置”,重复的次数太多,还是把它记录下来吧!!!

  1. 安装vsftpd ftp

    1
    yum -y install ftp vsftpd
  2. 备份vsftpd原有的配置文件

    1
    2
    cd /etc/vsftpd/
    cp vsftpd.conf vsftpd.conf.origin
  3. 创建密码明文文件

    1
    2
    3
    vim /etc/vsftpd/vftpuser.txt
    # brucewar
    # password
  4. 根据明文创建密码DB文件

    1
    db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db
  5. 查看密码数据文件

    1
    2
    file /etc/vsftpd/vftpuser.db
    # /etc/vsftpd/vftpuser.db: Berkeley DB(Hash,version9,native byte-order)
  6. 创建vftpd的guest账户

    1
    useradd -d /ftp/private -s /sbin/nologin vftpuser

    Note:这一步可能会创建/ftp/private失败,可以手动创建文件夹,并将它的权限赋予vftpuser

    1
    2
    mkdir -p /ftp/private
    chown -R vftpuser.vftpuser /ftp
  7. 打开/etc/pam.d/vsftpd, 将authaccount的所有配置行都注释掉,添加如下内容:

    1
    2
    auth required pam_userdb.so db=/etc/vsftpd/vftpuser
    account required pam_userdb.so db=/etc/vsftpd/vftpuser
  8. 打开/etc/vsftpd/vsftpd.conf,将anonymous_enable=YES改为anonymous_enable=NO,在最下面添加如下内容:

    1
    2
    3
    4
    5
    virtual_use_local_privs=YES
    guest_enable=YES
    guest_username=vftpuser
    chroot_local_user=YES
    allow_writeable_chroot=YES
  9. 设置vsftpd开机启动

    1
    systemctl enable vsftpd
  10. 重启vsftpd服务

    1
    systemctl restart vsftpd
  11. 配置防火墙和SELinux

    1
    2
    3
    4
    5
    firewall-cmd --permanent --zone=public --add-service=ftp
    firewall-cmd --reload
    getsebool -a | grep ftp
    setsebool -P ftpd_full_access on
  12. 查看vsftpd服务状态

    1
    systemctl status vsftpd
Enjoy it? Donate me!您的支持将鼓励我继续创作!

热评文章