Ftp基础(一):基于Vsftpd(主动模式和被动模式)安装Ftp

  如果是Windows下,我们一般使用IIS来部署一套Ftp,如果是Linux下,个人一般使用Vsftpd来搭建一套Ftp。

  至于什么是Ftp,就不介绍了,本文就Ubuntu下安装配置Vsftpd,CentOS其实差不多,所以这里就当做笔记了

  安装 

  Ubuntu下安装Vsftpd很简单,使用apt安装即可  

    # 更新
    sudo apt update
    # 安装
    sudo apt install -y vsftpd

  注意,上面这个安装需要联网,或者说需要一个可用的apt包源,如果在没有联网的环境下,我们可以从这个地址去搜索下载deb包:https://ubuntu.pkgs.org/

  

  然后在搜索找到系统对应的版本,比如我用的虚拟机是20.04版本amd架构,所以我点击这个连接进入:

  

  最后找到Download下的链接,下载下来再使用dpkg安装即可:

  

  比如:  

    # 可以在windows下浏览器中直接输入地址下载
    # 也可以在linux下使用wget来完成下载
    wget http://archive.ubuntu.com/ubuntu/pool/main/v/vsftpd/vsftpd_3.0.3-12_amd64.deb
    # 下载好后,把包传到要安装的服务器,然后使用dpkg安装
    sudo dpkg -i vsftpd_3.0.3-12_amd64.deb

  需要注意的是,vsftpd依赖很多的依赖包,在安装的时候,可能会提示我们哪些安装包需要先安装

  我们可以通过https://ubuntu.pkgs.org/去搜索,也可以在上面Download页面找到Requires节点,他就是这个版本的vsftpd所有的依赖包了,点击对应的包进入找到Download节点下的连接,然后下载包,使用dpkg安装即可。不过,这是一个很繁琐的过程,可能依赖包还依赖其它包,可能依赖包还会出现版本冲突问题,等等这些问题具体处理吧

  

  好了,安装好了,现在就剩配置了,ftp有两种模式,正好vsftpd都支持,那么我们就分开成两种配置,不过在此之前,我们还需要一些准备工作:  

    # 我们先添加一个用户,用来访问ftp
    sudo adduser ftp_user
    # 然后输入密码,之后一路回车就可以了
    
    # 创建一个目录,作为ftp的根目录
    sudo mkdir /ftp_root
    # 将这个目录的所有者给到ftp用户
    sudo chown -R ftp_user. /ftp_root

  被动模式

  个人用被动模式比较多的,先从它说起吧,通过apt安装好后,会生成一个/etc/vsftpd.conf文件,这个就是配置文件

  打开文件:sudo vim /etc/vsftpd.conf

  修改或者编辑内容如下:

    # 启用被动模式
    pasv_enable=YES
    # 关闭主动模式,当然也可以启用
    port_enable=NO
    # 使用userlist来配置权限
    userlist_deny=NO
    userlist_enable=YES
    # 这个是运行访问ftp的用户
    userlist_file=/etc/allowed_users
    seccomp_sandbox=NO
    # 这个就是ftp根目录
    local_root=/ftp_root
    # 客户端最大连接数据
    max_clients=1000
    # 同一个 IP 同一时间可允许多少连接
    max_per_ip=1000
    # 禁用匿名用户登陆
    anonymous_enable=NO
    # 允许本地用户登陆
    local_enable=YES
    # 允许本地用户写入
    write_enable=YES
    # 编码
    utf8_filesystem=YES
    # 被动模式开启的端口范围,可以用来管理,0表示可以使用任意端口
    #pasv_max_port=0
    #pasv_min_port=0

  更多配置参考官网:http://vsftpd.beasts.org/vsftpd_conf.html

  接着我们编辑/etc/allowed_users   

  在里面输入我们的用户名称:sudo vim /etc/allowed_users

  

  最后重启服务即可:sudo systemctl restart vsftpd.service

  主动模式

  安装完后,如果需要主动模式,我们可以这么配置:

    # 关闭被动模式,当然也可以启用
    pasv_enable=NO
    # 启用主动模式
    port_enable=YES
    # 使用userlist来配置权限
    userlist_deny=NO
    userlist_enable=YES
    # 这个是运行访问ftp的用户
    userlist_file=/etc/allowed_users
    seccomp_sandbox=NO
    # 这个就是ftp根目录
    local_root=/ftp_root
    # 客户端最大连接数据
    max_clients=1000
    # 同一个 IP 同一时间可允许多少连接
    max_per_ip=1000
    # 禁用匿名用户登陆
    anonymous_enable=NO
    # 允许本地用户登陆
    local_enable=YES
    # 允许本地用户写入
    write_enable=YES
    # 编码
    utf8_filesystem=YES
    # 启用20端口
    connect_from_port_20=YES

  更多配置参考官网:http://vsftpd.beasts.org/vsftpd_conf.html

  接着我们编辑/etc/allowed_users   

  在里面输入我们的用户名称:sudo vim /etc/allowed_users

  

  最后重启服务即可:sudo systemctl restart vsftpd.service

  总结

  本文就写这么多吧,还有其它内容,比如什么是主动被动,怎么区分,怎么连接使用等,慢慢来吧。

  当然,这里按主动和被动两种模式分别配置,但是如果你愿意,也可以两种模式一起用。

  还有,这里的配置可能会觉得重复了,但是仔细想想,重复就重复吧,如果新部署ftp那么直接复制,会简单些吧 

 

posted @ 2023-08-29 19:56  没有星星的夏季  阅读(373)  评论(0编辑  收藏  举报