CentOS7 安装FTP服务

使用VSFTPD在CentOS7上安装FTP服务

使用VSFTPD安装FTP服务

  1. 首先更新软件包管理器
    sudo yum update
  2. 使用VSFTPD(VSFTPD表示“非常安装的FTP守护程序软件包”)。这是用于创建FTP服务器的相对容易的软件使用工具。使用命令安装VSFTPDsudo yum install vsftpd
    install vsftpd
  3. 启动服务,并将其设置为开机启动
    启动服务
    sudo systemctl start vsftpd
    遇到一个错误

    具体还没有找到原因,不过在重启之后防火墙没开启之前成功启动vsftpd服务,现在只能这么解决了。

    配置开机启动
    sudo systemctl enable vsftpd
  4. 配置防火墙
    防火墙还没有启动,首先启动防火墙
    sudo systemctl start firewalld
    新建一个防火墙规则,以允许端口21以及40000-450000的端口。
    sudo firewall-cmd --zone=public --permanent --add-port=21/tcp

    sudo firewall-cmd --zone=public --permanent --add-service=ftp
    sudo firewall-cmd --zone=public --permanent --add-port=40000-45000/tcp

    重启防火墙,使配置生效。
    sudo firewall-cmd --reload

配置VSFTPD

FTP可通过主动模式和被动模式与客户机进行连接并传输数据。由于大多数客户端机器的防火墙设置及无法获取真实IP等原因。建议选择被动模式搭建FTP服务,以下为被动模式的配置,FTP服务的行为由/etc/vsftpd/vsftpd.conf配置文件确定。

  1. 首先备份配置文件的副本

    sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.default

    这样可以确保出现问题之后,可以返回到默认的配置。

  2. 使用命令编辑配置文件

    anonymous_enable=NO
    local_enable=YES
    chroot_local_user=YES
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list
    listen=YES
    local_root=/var/ftp/test
    allow_writeable_chroot=YES
    pasv_enable=YES
    pasv_address=xxx.xx.xxx.xx #请修改为您的 Linux 云服务器公网 IP
    pasv_min_port=40000
    pasv_max_port=45000
    
  3. vsftpd提供了一种创建批准用户列表的方法。要以这种方式管理用户,在配置文件中添加

    userlist_enable=YES
    userlist_file=/etc/vsftpd/user_list
    userlist_deny=NO
    

创建用户

  1. 创建一个新的FTP用户

    sudo adduser ftpyao

  2. 为用户yao设置密码

    sudo passwd ftpyao

  3. 将用户添加到用户列表
    echo "ftpyao" | sudo tee -a /etc/vsftpd/user_list

  4. 为新用户创建目录,并调整权限

    sudo mkdir -p /home/ftpyao/ftp/upload
    sudo chmod 550 /home/ftpyao/ftp
    sudo chmod 750 /home/ftpyao/ftp/upload
    sudo chown -R ftpyao: /home/ftpyao/ftp
    
posted @ 2021-06-21 10:48  Mr-Yao  阅读(704)  评论(0编辑  收藏  举报