中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何編譯安裝 vsFTP 3.0.3

發布時間:2021-05-27 14:04:36 來源:億速云 閱讀:298 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關如何編譯安裝 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=NO
local_enable=YES
write_enable=YES

#不啟動鎖定用戶名單,所有的用戶都將被鎖定不允許訪問上級目錄,只允許訪問其主目錄
chroot_local_user=YES
chroot_list_enable=NO

#啟動log
xferlog_enable=YES
xferlog_std_format=YES
xferlog_file=/etc/vsftpd/vsftpd.log

#開啟虛擬用戶
guest_enable=YES
#FTP虛擬用戶對應的系統用戶
guest_username=vsftpd
#PAM認證文件/etc/pam.d/vsftpd
pam_service_name=vsftpd

virtual_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 0
RETVAL=0
prog="vsftpd"
start() {
        # Start daemons.
        if [ -d /etc/vsftpd ] ; then
                for i in `ls /etc/vsftpd/*.conf`; do
                        site=`basename $i .conf`
                        echo -n $"Starting $prog for $site: "
                        /usr/local/sbin/vsftpd $i &
                        RETVAL=$?
                        [ $RETVAL -eq 0 ] && {
                           touch /var/lock/subsys/$prog
                           success $"$prog $site"
                        }
                        echo
                done
        else
                RETVAL=1
        fi
        return $RETVAL
}
stop() {
        # Stop daemons.
        echo -n $"Shutting down $prog: "
        killproc $prog
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
        return $RETVAL
}
# See how we were called.
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart|reload)
        stop
        start
        RETVAL=$?
        ;;
  condrestart)
        if [ -f /var/lock/subsys/$prog ]; then
            stop
            start
            RETVAL=$?
        fi
        ;;
  status)
        status $prog
        RETVAL=$?
        ;;
  *)
        echo $"Usage: $0 {start|stop|restart|condrestart|status}"
        exit 1
esac
exit $RETVAL

如何編譯安裝 vsFTP 3.0.3

如何編譯安裝 vsFTP 3.0.3

增加執行權限

如何編譯安裝 vsFTP 3.0.3

  • 修改文件 /etc/xinetd.d/vsftpd ,不使用 xinetd 守護進程啟動 vsftpd

  • sed -in 's/disable.*=.*/disable = 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”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

栖霞市| 广饶县| 大名县| 酒泉市| 南陵县| 年辖:市辖区| 平顶山市| 云浮市| 安溪县| 南安市| 霍州市| 卢龙县| 太保市| 博爱县| 武义县| 乌什县| 竹溪县| 河北区| 沅陵县| 兴海县| 商城县| 昌江| 阿巴嘎旗| 竹山县| 高陵县| 保德县| 临高县| 子长县| 丘北县| 宁强县| 镇巴县| 吴川市| 平顶山市| 宿松县| 海伦市| 镶黄旗| 石河子市| 昌宁县| 北票市| 新闻| 临高县|