VSFTPD配置虚拟FTP服务器

  • 摘要:如何在一台服务器上提供多个IP地址呢?如何使用VSFTPD创建虚拟FTP服务器呢?本文介绍就是VSFTPD配置虚拟FTP服务器的方法。
  • 标签:VSFTPD  虚拟  服务器
  •  

VSFTPD配置虚拟FTP服务器

假定服务器有两个IP地址,192.168.0.1和192.168.0.2。VSFTPD是建立在192.168.0.1上的,现在我们在192.168.0.2上再提供一个虚拟FTP服务器。如何在一台服务器上使用多个IP 地址,可以参考相关文档。

1、创建虚拟FTP服务器的根目录

  1. mkdir -p /var/ftp2/pub  
  2.  

确保/var/ftp2和/var/ftp2/pub目录的拥有者和组均为root,掩码为755。

2、增加虚拟FTP服务器的匿名用户帐号

原先的FTP服务器使用系统用户ftp作为其匿名用户帐号。我们要增加一个ftp2用于虚拟FTP服务器。

  1. useradd -d /var/ftp2 -M ftp2  
  2.  

3、创建虚拟FTP服务器的配置文件

复制原来的vsftpd.conf作为虚拟FTP服务器的配置文件,并修改相关参数。

  1. cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd2.conf  
  2.  

新添或修改以下参数:

  1. listen=YES 
  2.  
  3. listen_address=192.168.0.2  
  4.  
  5. ftp_username=ftp2 
  6.  

注:由于VSFTPD默认是监听所有的IP地址,当我们设定基于IP的虚拟FTP服务器时,为防止原来的FTP服务器与虚拟FTP服务器发生监听上 的冲突,原FTP服务器需要指定监听的IP地址。在这里,原来的配置文件中就要设置listen_address=192.168.0.1。

4、启动虚拟FTP服务器

/etc/rc.d/init.d/vsftpd脚本在启动时,扫描/etc/vsftpd/目录下所有的*.conf文件,按照 *.conf文件的先后,依次启用vsftpd进程,每个vsftpd进程对应一个.conf文件。即,“ls /etc/vsftpd/”列表的次序与“ps -aux |grep vsftpd”中的顺序一样。当然了,“ps -aux | grep vsftpd”中也显示出vsftpd所使用的配置文件,从中也可以看哪个vsftpd进程对应哪个FTP服务器。如果没有列出配置文件,那就是默认的 vsftpd.conf,那么该进程也就是原来的FTP服务器进程。

由于第3步中虚拟FTP服务器的配置文件被命名为vsftpd2.conf文件,所以我们可以用/etc/rc.d/init.d/vsftpd脚本同时启动或关闭原FTP服务器和新加的虚拟FTP服务器。

以下命令单独启动虚拟FTP服务器:

  1. /usr/sbin/vsftpd /etc/vsftpd/vsftpd2.conf &  
  2.  

单独关闭虚拟FTP服务器,用“ps -aux | grep vsftpd”查出进程号,再用kill指令杀死虚拟FTP的进程。