相似如下更新便可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: