美文网首页
Linux下安装vsftpd

Linux下安装vsftpd

作者: c_gentle | 来源:发表于2021-06-18 15:40 被阅读0次

    一、vsftpd简介

    安全性是编写VSFTP的初衷,除了这与生俱来的安全特性以外,高速与高稳定性也是VSFTP的两个重要特点。
    在速度方面,使用ASCII代码的模式下载数据时,VSFTP的速度是Wu-FTP的两倍,如果Linux主机使用2.4.*的内核,在千兆以太网上的下载速度可达86MB/S。
    在稳定方面,VSFTP就更加的出色,VSFTP在单机(非集群)上支持4000个以上的并发用户同时连接,根据Red Hat的Ftp服务器的数据,VSFTP服务器可以支持15000个并发用户
    特点:

    1、它是一个安全、高速、稳定的FTP服务器;
    2、它可以做基于多个IP的虚拟FTP主机服务器;
    3、匿名服务设置十分方便;
    4、匿名FTP的根目录不需要任何特殊的目录结构,或系统程序或其它的系统文件;
    5、不执行任何外部程序,从而减少了安全隐患;
    6、支持虚拟用户,并且每个虚拟用户可以具有独立的属性配置;
    7、可以设置从inetd中启动,或者独立的FTP服务器两种运行方式;
    8、支持两种认证方式(PAP或xinetd/ tcp_wrappers);
    9、支持带宽限制;
    

    好了,以上就是官方的一些介绍,可以了解一下。我们平时的使用场景可能是公司需要,比如搭建一个vsftp服务,员工们上传下载文件,或者自己使用。主要就是用来做文件上传下载。

    二、vsftpd搭建

    1、查看自己的linux版本
    有的属于6系列,目前是最新版本是7系列。由于7系列在一些命令上有了变化,所以需要你确认自己是6/7系列。
    比如:防火强命令firewall,systemctl命令等等
    2、查看是否安装vsftp并使用yum安装
    看一下自己是否安装了vsftp服务,如果安装了,可以卸载或者继续搭建

    rpm -qa | grep vsftpd
    

    使用yum安装

    yum -y install vsftpd
    
    1.png

    这样表示安装成功。(图例是找的一张,我安装的是vsftpd-3.0.2-22.el7.x86_64版本)
    验证是否安装成功

    rpm -qa vsftpd
    

    3、vsftp配置
    安装已经成功,接下来就需要进行配置了。查看vsftp相关的配置文件

    ll /etc/vsftpd/
    
    image.png

    userconfig文件夹是我后来自己创建的。
    下面说一下vsftpd.conf配置文件的配置,我只说一下没有注释的和我新增的配置项:

    anonymous_enable=NO #是否允许匿名用户登录YES/NO
    local_enable=YES #是否允许本地用户登录YES/NO
    write_enable=YES #是否允许本地用户对FTP服务器文件具有写权限YES/NO
    local_root=/home/wwwroot/ #为不同用户设置不同的ftp根目录
    chroot_local_user=YES #锁定用户到各自目录为其根目录YES/NO
    allow_writeable_chroot=YES #各用户是否可以上传下载YES/NO
    user_config_dir=/etc/vsftpd/userconfig #用户配置目录,这就是我新建的那个文件夹
    local_umask=022 #设置本地用户的文件掩码为缺省022,也可根据个人喜好将其设置为其他值
    dirmessage_enable=YES # 是否激活目录欢迎信息功能YES/NO
    xferlog_enable=YES #是否让系统自动维护上传和下载的日志文件默认情况该日志文件为/var/log/vsftpd.log,也可以通过下面的xferlog_file选项对其进行设定YES/NO
    connect_from_port_20=YES #是否设定FTP服务器将启用FTP数据端口的连接请求YES/NO
    xferlog_std_format=YES #是否以标准xferlog的格式书写传输日志文件YES/NO
    ascii_upload_enable=YES #是否以ASCII方式上传数据YES/NO
    ascii_download_enable=YES #是否以ASCII方式下载数据YES/NO
    listen=YES #是否允许监听新的端口YES/NO
    #listen_ipv6=YES #此项很重要,记得注释
    pam_service_name=vsftpd #
    userlist_enable=YES #设置是否阻扯user_list文件中的用户登录FTP服务器,默认为YES
    tcp_wrappers=YES #是否使用tcp_wrappers作为主机访问控制方式
    userlist_deny=NO #当userlist_enable为YES,userlist_deny为NO时,FTP服务器仅允许user_list中的用户访问
    listen_port=6666 #监听一个新的端口6666
    #修改ftp默认的21端口,数字随意,只要在1024-65535之内就行(1024以下是系统保留的,从1024-65535是用户使用的)
    

    我们通常想要的是,某个用户登录之后可以直接访问到我们给他指定的目录,也就是用户自己的根目录,所以我在上边配置了不同用户的根目录。接下来需要配置用户。
    先创建一个用户:

    useradd testftp
    passwd testftp
    

    设置完密码这个用户就生成了,现在去配置vsftp中该用户的根目录

    cd /etc/vsftpd/
    mkdir userconfig
    vim testftp
    

    这个时候在里面配置一下testftp用户自己根目录:

    local_root=/home/wwwroot/testftp/
    

    注意:你的/home/wwwroot/testftp/这个文件夹必须存在哦!这个时候已经为testftp用户设置好了自己连接后的根目录,你还需要将:/etc/vsftpd/user_list文件中的其他用户都删除,只添加一个testftp
    4、配置selinux
    那个就ok了,现在还需要配置一下selinux
    vim /etc/sysconfig/selinux
    将SELINUX=enforcing改为SELINUX=disabled



    5、启动vsftp服务
    还是因为7系列,所以启动命令是:

     systemctl start vsftpd
    

    6、连接测试
    ok,现在vsftp搭建和配置已经完成了,可以连接了。按照以上配置的话

    ip:你的服务器ip
    端口:6666
    用户名:testftp
    密码:testftp
    

    多说一句,如果你启动的时候报错:
    Restarting vsftpd (via systemctl): Job for vsftpd.service failed because the control……
    这个就是因为vsftpd.conf中的:listen_ipv6=YES没有注释造成,因为我们目前的网络环境还不支持ipv6,改为listen_ipv6=NO或者注释,重启即可。

    相关文章

      网友评论

          本文标题:Linux下安装vsftpd

          本文链接:https://www.haomeiwen.com/subject/bvtfyltx.html