本文简单介绍了一些vsftpd相对重要的一些注意点,是参考一些前辈的文章中总结的。
VSFTP
vsftpd 是一个基于GPL 发布的类UNIX 系统上使用的FTP 服务器软件。其中的vs 是“Very Secure”的缩写,从此名称缩写可以看出,编制者的初衷就是代码的安全性。(安全+高速+稳定)
在稳定性方面:vsftpd 可以在单机(非集群)上支持4000 个以上的并发用户同时连接。
ftp.redhat.com 的数据,vsftpd 可以支持15000 个并发用户。 
除了安全、高速、稳定之外,vsftpd 还具有如下的特性: 
Ø  支持基于IP 的虚拟FTP 服务器 
Ø  支持虚拟用户 
Ø  支持PAM  或  xinetd / tcp_wrappers 的认证方式 
Ø  支持两种运行方式:独立和Xinetd
Ø  支持每个虚拟用具有独立的配置 
Ø  支持带宽限制等
 
在 主动模式 下,FTP客户端随机开启一个 大于1024的端口N 向 服务器的21号端口发起连接 ,然后开放 N+1 号端口进行监听,并向服务器发出 PORT N+1 命令。服务器接收到命令后,会用其本地的 FTP数据端口(通常是20 来连接客户端指定的端口N+1,进行数据传输。 
    在 被动模式 下,FTP 客 户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,同时会开启N+1号端口。然后 向服务器发送PASV命令,通知服务器自己处于被动模式 。服务器收到命令后,会开放一个大于1024的端口 P 进行监听,然后用 PORT P 命令 通知客户端 , 自己的数据端口是P 。客户端收到命令后,会通过N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输。
 
主动FTP
   命令连接:客户端 >1023端口 -> 服务器 21端口
   数据连接:客户端 >1023端口 <- 服务器 20端口 

被动FTP
   命令连接:客户端 >1023端口 -> 服务器 21端口
   数据连接:客户端 >1023端口 -> 服务器 >1023端口

    总的来说, 主动模式的FTP是指服务器主动连接客户端的数据端口 , 被动模式的FTP是指服务器被动地等待客户端连接自己的数据端口 。 
 
当 ftp 服务器在防火墙的后面的时候, ftp 服务器应该采用主动模式 , 这样可以限制端口访问。
 
配置文件所在位置:
[root@teacher vsftpd]# ls
ftpusers    user_list   vsftpd.conf  vsftpd_conf_migrate.sh
[root@teacher vsftpd]# pwd
/etc/vsftpd
[root@teacher vsftpd]#
ftpusers:用于保存不允许登录本机ftp服务器的用户
user_list:更灵活的对vsftpd设置用户访问控制
匿名用户使用的用户名: ftp 或者 anonymous
 
[root@teacher ~]#  finger ftp
Login: ftp                              Name: FTP User
Directory:  /var/ftp                      Shell:  /sbin/nologin
Never logged in.
No mail.
No Plan.
[root@teacher ~]#
 
在系统中,没有权限登录系统的用户一般也被称之为 虚拟用户 ;虚拟用户也是要写进/etc /passwd 中;这只是一种虚拟用户的方法,但说实在的并不是真正的虚拟用户,只是把他登录SHELL 的权限去掉了,所以他没有能力登录系统。
[root@localhost ~]# mount --bind [原有的目录] [新目录
比如我的 ftp 的默认目录是/var/ftp,我想把/mnt/wu 文件夹, 映射到/var/ftp 目录中 ,我就如下操作:
我们要先在/var/ftp 目录中建一个目录 
[root@localhost ~]#  mkdir /var/ftp/wu
然后执行 mount 命令 
[root@localhost ~]#  mount --bind /mnt/wu /var/ftp/wu
这样就好了