vsftpd更新和修改版本号教程

1.rpm包更新

类似以下更新即可

rpm -Uvh vsftpd-2.2.2-24.el6.x86_64.rpm

2.源码更新

不懂为什么对于新版本可能只有源码包而没有rpm等包,如此只能以源码更新了。

tar -zxf nginx-1.10.3.tar.gz
cd vsftpd-3.0.3
make
make install
service vsftpd restart

3.INSTALL文件说明

vsftpd源码包内有INSTALL文件,该文件是安装的说明文档。

该文件最关键的步骤仍是make和make install其他内容是前置条件和以xinted方式启动的说明。

其实完全可以先装个rpm包这样前置条件就不用自己操心了,正常起动即可xinted不用管。

4.出现的错误 

make报错:make: gcc: Command not found

解决:yum install gcc-c++

说明:直接安装gcc也是可以的;gcc-c++只是c++的编译器,gcc是包括c++在内的多种语言的编译器

make报错:/usr/bin/ld: cannot find -lcap

解决: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

5.修改banner信息(隐藏版本号)

最新的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=/aftpd_banner=(vsFTPd 3.3.3)' /etc/vsftpd/vsftpd.conf

上边语句的意思是,找到ftpd_banner将其前面的#去除,然后赋值为(vsFTPd 3.3.3)。如果不习惯使用sed,可以使用编缉器打开/etc/vsftpd/vsftpd.conf编缉

最后需要重启vsftpd使配置生效,重启命令service vsftpd restart:

原文地址:https://www.cnblogs.com/lsdb/p/6706386.html