VSFTPD配置虚拟FTP服务器
假定服务器有两个IP地址,192.168.0.1和192.168.0.2。VSFTPD是建立在192.168.0.1上的,现在我们在192.168.0.2上再提供一个虚拟FTP服务器。如何在一台服务器上使用多个IP 地址,可以参考相关文档。
1、创建虚拟FTP服务器的根目录
- mkdir -p /var/ftp2/pub
确保/var/ftp2和/var/ftp2/pub目录的拥有者和组均为root,掩码为755。
2、增加虚拟FTP服务器的匿名用户帐号
原先的FTP服务器使用系统用户ftp作为其匿名用户帐号。我们要增加一个ftp2用于虚拟FTP服务器。
- useradd -d /var/ftp2 -M ftp2
3、创建虚拟FTP服务器的配置文件
复制原来的vsftpd.conf作为虚拟FTP服务器的配置文件,并修改相关参数。
- cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd2.conf
新添或修改以下参数:
- listen=YES
- listen_address=192.168.0.2
- ftp_username=ftp2
注:由于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服务器:
- /usr/sbin/vsftpd /etc/vsftpd/vsftpd2.conf &
单独关闭虚拟FTP服务器,用“ps -aux | grep vsftpd”查出进程号,再用kill指令杀死虚拟FTP的进程。
【编辑推荐】