一次Linux下尝试 VSFTP 经历

2023-06-15 14:56:20 浏览数 (1)

简介

VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全。

  • 生产环境

系统:CentOS 8

代码语言:javascript复制
物理:虚拟 VM 15 PRO
网络:内网,无外网

  • 安装步骤 1、挂载光盘(需提前配好 YUM) 2、安装 VSFTP: dnf install vsftpd -y 3、配置简要说明:默认配置文件是没有 listen_prot 配置项,如果需改端口需自己增加;使用默认配置时,默认监听21端口,登陆ftp的用户不要写进文件 ftpusers、user_list 两个文件中,以避免不必要的麻烦; 4、启动VSFTP:systemctl start vsftpd 5、我并不建议关闭防火墙和SELinux,不管是测试环境还是生产环境。如果因为防火墙或者SELinux问题导致无法正常使用FTP服务,应逐步排查并解决问题;

  • 博主需求

由于博主的额FTP是用来备份交换机、OLT等配置文件的,理想很丰满,现实很骨感。在实际测试中发现,交换机是可以指定FTP端口的,但是OLT却不可以,只能默认21号端口连接,所以问题来了:

代码语言:javascript复制
1、交换机连FTP(假定交换机用8544):ftp 192.168.2.10 8544
2、OLT连接FTP(默认21):upload cfg startrun.dat ftp ipaddress 192.168.2.10 user ftptest password [email protected]/* <![CDATA[ */!function(t,e,r,n,c,a,p,m,o){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-yjshash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-yjsemail')){for(e='',o=0,r='0x' a.substr(0,2)|0,n=2;a.length-n;n =2){m=('0' ('0x' a.substr(n,2)^r).toString(16)).slice(-2);if((a.length-n)<=6&&a.length>=128)o=(parseInt(m)<=191)?1:o*2;if(o>1)break;e ='%' m;}p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */
2、我需要VSFTP监听两个端口,即 8544 、 21;但是VSFTP配置文件是不支持多端口的,不像SSH那样;
网上说复制一份主配置文件,把端口改成需要监听的即可,但是我在实践中还是不行,所以博主大胆作出如下想法:
代码语言:javascript复制
1. 复制一份主配置文件:
    grep -v '#' /etc/vsftpd/vsftpd.conf  etc/vsftpd/8544vsftpd.conf

2、把监听端口改成8544,增加如下代码
    listen_port=8544

3、复制一份vsftpd.service文件
    cp /usr/lib/systemd/system/vsftpd.service /usr/lib/systemd/system/8544vsftpd.service
  
4、修改 /usr/lib/systemd/system/8544vsftpd.service 文件,把配置文件指向指定配置文件
    ExesStart=/usr/sbin/vsftpd /etc/vsftpd/8544vsftpd.conf

5、如果需要隐藏软件信息,可以在配置文件增加如下代码,等号后面填写你想要的信息
    ftpd_banner=anYftp_20.10.10

0 人点赞