相似如下更新便可nginx
rpm -Uvh vsftpd-2.2.2-24.el6.x86_64.rpm
不懂爲何對於新版本可能只有源碼包而沒有rpm等包,如此只能以源碼更新了。c++
tar -zxf nginx-1.10.3.tar.gz cd vsftpd-3.0.3 make make install service vsftpd restart
vsftpd源碼包內有INSTALL文件,該文件是安裝的說明文檔。bash
該文件最關鍵的步驟還是make和make install其餘內容是前置條件和以xinted方式啓動的說明。測試
其實徹底能夠先裝個rpm包這樣前置條件就不用本身操心了,正常起動便可xinted不用管。spa
make報錯:make: gcc: Command not found操作系統
解決:yum install gcc-c++rest
說明:直接安裝gcc也是能夠的;gcc-c++只是c++的編譯器,gcc是包括c++在內的多種語言的編譯器code
make報錯:/usr/bin/ld: cannot find -lcapblog
解決:yum install libcap-devel文檔
說明:對於/usr/bin/ld: cannot find -lxxx類問題,只要相似地安裝libxxx-devel(CentOS)或libxxx-dev(Ubuntu)便可
啓動報錯:Starting vsftpd for vsftpd: 500 OOPS: config file not owned by correct user, or not a file
/etc/vsftpd/vsftpd.conf文件屬主不對:chown -R root:root /etc/vsftpd
最新的vsftpdvsftpd-2.2.2-24.el6.x86_64.rpm也沒有解決'ls.c' 遠程拒絕服務漏洞(CVE-2011-0762),而3.0版本又沒有對應rpm包只能以源碼安裝
在實際操做發現,有些機器以源碼形式升級後版本號不知何故並無改變,爲此需手動修改版本號以免掃描器誤報(由此若是隻是要躲避掃描器掃描能夠不用升級直接修改版本號便可)
vsftpd的banner中默認有當前版本號,可經過/etc/vsftpd/vsftpd.conf中的ftpd_banner項來自定義banner信息
但若是隻是將ftpd_banner賦爲隨意語句,測試發如今部分操做系統上掃描器仍是能夠猜出大體版本號;爲此咱們最穩委的作法是將其值以默認banner信息的格式賦值:
sed -i 's/ftpd_banner=/#ftpd_banner=/' /etc/vsftpd/vsftpd.conf sed -i '/ftpd_banner=/a\ftpd_banner=(vsFTPd 3.3.3)' /etc/vsftpd/vsftpd.conf
上邊語句的意思是,找到ftpd_banner將其前面的#去除,而後賦值爲(vsFTPd 3.3.3)。若是不習慣使用sed,可使用編緝器打開/etc/vsftpd/vsftpd.conf編緝
最後須要重啓vsftpd使配置生效,重啓命令service vsftpd restart: