iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何编译安装 vsFTP 3.0.3
  • 575
分享到

如何编译安装 vsFTP 3.0.3

2023-06-15 06:06:53 575人浏览 薄情痞子
摘要

这篇文章给大家分享的是有关如何编译安装 vsFTP 3.0.3的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。漏洞详情VSFTP是一套基于GPL发布的类Unix系统上使用的FTP服务器软件。该软件支持虚拟用户、支持

这篇文章给大家分享的是有关如何编译安装 vsFTP 3.0.3的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

漏洞详情

VSFTP是一套基于GPL发布的类Unix系统上使用的FTP服务器软件。该软件支持虚拟用户、支持两种认证方式(PAP或xinetd/tcp_wrappers)、支持带宽限制等。

VSFTP中存在安全漏洞,该漏洞源于程序没有正确处理‘deny_file'选项。远程攻击者可利用该漏洞绕过访问限制。

以下产品及版本受到影响:VSFTP3.0.2及之前版本,opensuse13.1版本和13.2版本。

受影响的产品

Vsftpd Vsftpd 3.0.2

如何编译安装 vsFTP 3.0.3

  • FTP的登录一般有三种方式,分别是:

  • 匿名用户形式:默认安装的情况下,系统只提供匿名用户访问,只需要输入用户anonymous/ftp,并将自己的Email作为口令即可登录。

  • 本地用户形式:以/etc/passwd中的用户名为认证方式。

  • 虚拟用户形式:支持将用户名和密码保存在文件或数据库中,将登录用户映射到指定的系统账号(/sbin/nologin)来访问资源,其中这些虚拟用户是FTP的用户。

  • 实验环境: Centos 7.5 192.168.2.3

  • firewalld、iptables 及 SElinux 均为关闭状态

  • 下面实验采用基于PAM的虚拟用户,需要先用yum来安装PAM的组件:

  • 需要使用 epel 源 

  • yum -y install epel-release && yum -y install pam pam-devel db4-utils

  • 在默认配置下 vsftpd 需要使用 nobody 用户

  • 从官网上下载 https://www.linuxfromscratch.org/blfs/view/svn/server/vsftpd.html

  • wget Https://security.appspot.com/downloads/vsftpd-3.0.3.tar.gz

  • tar xf vsftpd-3.0.3.tar.gz

  • cd vsftpd-3.0.3/

如何编译安装 vsFTP 3.0.3

如何编译安装 vsFTP 3.0.3

如何编译安装 vsFTP 3.0.3

  • vsftpd的源码包里并没有configure文件,直接编译安装

  • make clean && make -j 4 && make install 

  • 如果编译的时候报错

  • /usr/bin/ld: cannot find -lcap

  • 查找该 .so 文件

  • find / -name "*libcap.so*"

  • /usr/lib64/libcap.so.2.22

  • /usr/lib64/libcap.so.2

  • ln -sv /usr/lib64/libcap.so.2 /usr/lib64/libcap.so

如何编译安装 vsFTP 3.0.3

  • 默认配置: 

  • 默认配置: 

  • 主程序文件:/usr/local/sbin/vsftpd

  • 主配置文件:/etc/vsfptd.conf

  • PAM认证文件:/etc/pam.d/vsftpd

  • 匿名用户主目录:/var/ftp

  • 匿名用户的下载目录:/var/ftp/pub

  •  

  • vsftpd的安全原则主要有两个:

  • 只允许支持虚拟用户登录,关闭本地用户和匿名用户。

  • 不允许使用root权限运行。

  •  

  • 创建配置文件存放目录

  • mkdir /etc/vsftpd

  • 拷贝新的配置文件到 /etc/vsftpd 目录

如何编译安装 vsFTP 3.0.3

创建用户以及共享目录、目录权限

如何编译安装 vsFTP 3.0.3

  • 创建虚拟用户口令明文文件,使用前面安装的db4-utils组件生成口令认证文件:

  •  vim /etc/vsftpd/access.txt

zhangsan   #用户名
123456      #密码
lisi
123456使用

  • 前面安装的db4-utils组件生成口令认证文件:

  • db_load -T -t hash -f /etc/vsftpd/access.txt /etc/vsftpd/access.db

如何编译安装 vsFTP 3.0.3

  • 编辑vsftpd的PAM认证文件:

  • vim /etc/pam.d/vsftpd

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/access
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/access

如何编译安装 vsFTP 3.0.3

  • 编辑配置主文件 /etc/vsftpd/vsftpd.conf

  • cp /etc/vsftpd/vsftpd.conf{,.bak}

  • vim /etc/vsftpd/vsftpd.conf

  • #禁止匿名用户

anonymous_enable=NOlocal_enable=YESwrite_enable=YES#不启动定用户名单,所有的用户都将被锁定不允许访问上级目录,只允许访问其主目录chroot_local_user=YESchroot_list_enable=NO#启动logxferlog_enable=YESxferlog_std_fORMat=YESxferlog_file=/etc/vsftpd/vsftpd.log#开启虚拟用户guest_enable=YES#FTP虚拟用户对应的系统用户guest_username=vsftpd#PAM认证文件/etc/pam.d/vsftpdpam_service_name=vsftpdvirtual_use_local_privs=YES

如何编译安装 vsFTP 3.0.3

编写 vsftpd 启动 脚本:/etc/init.d/vsftpd                                                                                                       

#!/bin/bash## vsftpd      This shell script takes care of starting and stopping#             standalone vsftpd.## chkconfig: - 60 50# description: Vsftpd is a ftp daemon, which is the program#              that answers incoming ftp service requests.# processname: vsftpd# config: /etc/vsftpd/vsftpd.conf# Source function library.. /etc/rc.d/init.d/functions# Source networking configuration.. /etc/sysconfig/network# Check that networking is up.[ ${NETWORKING} = "no" ] && exit 0[ -x /usr/local/sbin/vsftpd ] || exit 0RETVAL=0prog="vsftpd"start() {        # Start daemons.        if [ -d /etc/vsftpd ] ; then                for i in `ls /etc/vsftpddisable = yes/g' /etc/xinetd.d/vsftpd

  • sed -in 's/disable.*=.*/disable = yes/g' /etc/xinetd.d/vsftpdn

  • 如何编译安装 vsFTP 3.0.3

    • 启动 vsftpd

    • servicevsftpd start

    如何编译安装 vsFTP 3.0.3

    登陆测试

    如何编译安装 vsFTP 3.0.3

    如何编译安装 vsFTP 3.0.3

    如何编译安装 vsFTP 3.0.3

    如何编译安装 vsFTP 3.0.3

    如何编译安装 vsFTP 3.0.3

    • 开机启动,重启测试

    • chkconfig vsftpd on

    如何编译安装 vsFTP 3.0.3

    如何编译安装 vsFTP 3.0.3

    感谢各位的阅读!关于“如何编译安装 vsFTP 3.0.3”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

    --结束END--

    本文标题: 如何编译安装 vsFTP 3.0.3

    本文链接: https://www.lsjlt.com/news/278333.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • c++中函数返回值的类型是由什么决定的
      在 c++ 中,函数返回值类型由其函数原型的类型决定,包括:函数原型指定返回值类型:在函数名称后跟冒号,再跟返回值类型。默认返回值类型为 int:如果不指定返回值类型,默认类型为 int...
      99+
      2024-05-14
      c++
    • 在c++中,什么叫函数的返回值
      在 c++ 中,函数只能返回一个值。解决方法:引用传递、结构体或类、out 参数。没有返回值的函数可以使用 void 类型,表示不返回任何值。 什么是 C++ 中函数的返回值? 在 C...
      99+
      2024-05-14
      c++
    • c++中static的作用和用法
      c++ 中的 static 关键字用于声明静态变量、函数或类成员,使其在程序生命周期内存在或与类的每个实例关联。具体用法如下:静态变量:在函数外声明,仅创建一份副本,在程序启动时初始化且...
      99+
      2024-05-14
      c++
    • static在c和c++中的区别
      static关键字在c和c++中用于控制变量的生命周期和作用域。在c中,它延长局部变量和限制全局变量的作用域。在c++中,它还用于定义类成员变量和函数、命名空间中的变量和函数,以及函数内...
      99+
      2024-05-14
      c语言 c++ 作用域
    • c++中a++与++a的区别
      c++ 中 a++ 和 ++a 区别:后缀递增 a++ 先返回原始值,再递增;前缀递增 ++a 先递增,再返回递增后的值。 C++ 中 a++ 与 ++a 的区别 在 C++ 中,a+...
      99+
      2024-05-14
      c++
    • if else在c++中的用法
      在 c++ 中,if else 语句根据条件执行不同代码块的语法为:if (condition) { } else { }。它可用于:检查数字是否为正数根据条件执行嵌套 if els...
      99+
      2024-05-14
      c++
    • struct在c和c++中的区别
      c和c++中struct的区别包括:c中成员默认公开访问,c++中默认私有访问。c++可以在struct定义中初始化成员,c中不允许。c++支持成员函数,c不支持。c++不支持匿名str...
      99+
      2024-05-14
      c++
    • c++中的所有函数都是传值调用吗
      函数调用类型可分为传值调用和引用调用,默认采用传值调用,传值调用中形参接收实参副本,引用调用中形参接收实参引用,对形参进行的修改也会影响实参。 C++中的函数调用类型 C++中,函数调...
      99+
      2024-05-14
      c++
    • c++中ifdef的用法
      c++ 中的 #ifdef 预处理器指令用于根据预定义宏是否存在来编译或不编译代码块。它的语法是 #ifdef ,其作用包括:检查宏是否存在,如果宏已定义,则编译其后的代码块;实现条件编...
      99+
      2024-05-14
      c++
    • c++中的函数调用有哪几种方式?它们有什么区别
      c++ 中的函数调用方式有 4 种:值传递(复制实参值,不影响实参)、引用传递(传递实参地址,修改形参值会修改实参)、指针传递(传递实参指向的内存地址,修改指向的值会影响实参)、rval...
      99+
      2024-05-14
      c++
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作