一、FTP的基本概念
1. FTP作用
FTP (文件传输协议)是TCP/IP协议栈所提供的一种子协议,该子协议具体可以实现在以下功能:
从客户向服务器发送一个文件;从服务器向客户发送一个文件;
从服务器向客户发送文件或目录列表
2. FTP的工作体系
FTP工作在TCP/ip模型的第四层上,服务器与客户机之间利用TCP的21号端口传送信号指令;利用20号端口用于传送数据;具体工作过程如下:
(1) 客户机启动客户端程序,通过TCP的“三次握手”建立服务器的连接
(2) 服务器对客户机进行身份验证
(3) 进行相应目录操作和数据传输
(4) 断开连接
3. FTP的数据传输模式
主动传输模式:
在这种模式下,服务器向客户端发起一个用于数据传输的连接,客户端的连接端口是由服务器和客户端通过协商通过的
被动传输模式:
在这种模式下,客户端向服务器发起一个用于数据传输的连接,客户端的连接端口是发起这个数据连接请求时使用的端口号
4. Linux下常见的FTP软件
(1)wu-ftp
wu-ftp是历史最久的非商业FTP服务器软件之一,主要有以下特点:
可以限制最高访问人数,以维持系统的最佳运行效率
可以记录文件上传和下载的全过程
可以支持匿名FTP服务
可以支持虚拟FTP主机
可以控制不同网段及其对FTP服务器的存取权限和访问时段
(2)proftp
proftpd是在意图修改wu-ftp一些不足情况下产生的,具体有如下特点:
单配置文件,配置简单
基于单个目录的.ftpaccess设置文件,类似apache的.htaccess文件
可以设置为从xinetd启动,或者是独立ftp服务器两种运行方式
强大的log功能
支持以非root身份运行,从而减少了安全隐患
支持匿名FTP功能
(3)vsftpd
是一个安全、高速、稳定的FTP服务器
可设定多个基于IP的虚拟FTP服务器
匿名FTP服务器更是十分容易
不执行任何外部程序,从而减少了安全隐患
支持虚拟用户,且支持每个虚拟用户具有独立的配置
可以设置为从xinetd启动,或者是独立FTP服务器两种运行方式
支持PAM或xinetd/tcp_wrappers的认证方式
支持带宽限制
二.vsftp安装与配置
1.软件包:vsftpd-x.x.x-x.i386.rpm
2./etc/vsftpd/vsftpd.conf 主配置文件
/etc/vsftpd.ftpusers 指定哪些用户不能访问FTP服务器
/etc/vsftpd.user_list 可以根据vsftpd.conf文件中的设置来决定该文件中指定的用户是否可以访问ftp服务器
/etc/rc.d/init.d/vsftpd vsftpd的启动脚本文件
3.vim /etc/vsftp/vsftpd.conf 中一些基本配置选项
anonymous_enable=YES|NO
控制是否允许匿名用户登录,YES允许,NO不允许,默认值为YES.
ftp_username= username
匿名用户所使用的系统用户名.默认下,此参数在配置文件中不出现,值为ftp
no_anon_password=YES|NO
控制匿名用户登入时是否需要密码,YES不需要,NO需要.默认值为NO.
anon_root=path
设定匿名用户的根目录,即匿名用户登入后,被定位到此目录下.主配置文件中默认无此项,默认值为/var/ftp/.
anon_world_readable_only=YES|NO
控制是否只允许匿名用户下载可阅读文档.YES,只允许匿名用户下载可阅读的文件.NO,允许匿名用户浏览整个服务器的文件系统.默认值为YES.
anon_upload_enable=YES|NO
控制是否允许匿名用户上传文件,YES允许,NO不允许,默认是不设值,即为NO.除了这个参数外,匿名用户要能上传文件,还需要两个条件:一,write_enable参数为YES;二,在文件系统上,FTP匿名用户对某个目录有写权限.
anon_mkdir_write_enable=YES|NO
控制是否允许匿名用户创 |