本文简单介绍了一些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
这样就好了