各种FTP

 

         FTP    基本最常见的FTP    TCP21

         FTPS    基于TLS/SSL          TCP21

         SFTP    基于SSH                  TCP22

         HTTP    基于HTTP              TCP80

         HTTPS   基于SSL                TCP443

 

         FTP是文件传输协议(File Transport Protocol)的英文缩写

         FTP服务器根据服务对象的不同可分为匿名服务器和系统FTP服务器

         UNIXLinux下常用的FTP软件:

     Wu-FTP  linux8.0之前的版本用Wu-FTP

     Vsftpd     linux8.0(包含8.0)之后的版本用vsftpd

 

         vsftpd是一个基于GPL发布的类UNIX系统上使用的FTP服务器软件

         vsftpd的特性:

     安全

     高速

     稳定

     支持基于IP 的虚拟FTP 服务器

     支持虚拟用户

     支持PAM xinetd/tcp_wrappers 的认证方式

     支持两种运行方式:独立和Xinetd

     支持每个虚拟用户具有独立的配置

     支持带宽限制

 

连接模式

PortPasv

 

         vsftpd软件包名

     vsftpd-2.0.5-10.el5.i386.rpm (2)

 

         /etc/vsftpd/vsftpd.conf

     vsftpd服务的主配置文件,定义功能及操作方法

         /etc/vsftpd/ftpusers

     指定哪些用户不能访问FTP服务器

         /etc/vsftpd/user_list

     在这个文件中指定的用户默认情况下不能访问FTP服务器(默认的情况下不在配置文件中作任何配置是黑名单)

         是否使用该文件取决于vsftpd.confuserlist_enable的配置

         该文件中所列用户的访问权限取决于vsftpd.confuserlist_deny的配置

         启动服务:

# service vsftpd start

 

         停止服务:

# service vsftpd stop

 

 

         检查进程

# ps ax |grep vsftpd

3154 ?        Ss     0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

 

         检查端口

# netstat -nat |grep 21

tcp        0      0 0.0.0.0:21          0.0.0.0:*            LISTEN

 

 

vsftpd服务日志记录保存在/var/log/xferlog

 

Tue Sep 25 14:23:24 2007 1 127.0.0.1 0 /pub/install.log b _ o a ? ftp 0 * i

Tue Sep 25 14:23:56 2007 1 127.0.0.1 25092 /home/user01/install.log b _ i r user01 ftp 0 * c

 

current-time      本次传输发生的时间,表示为当前系统时间

transfer-time     文件传输所消耗的时间,以秒为单位

remote-host       远程客户机的IP地址

file-size      传输文件的大小。单位为字节

filename     传输文件的名字

transfer-type     传输类型。可用的值有“a”和“b”,“a”代表使用ascii方式传送,“b”为使用   binary方式传输

special-action-flag     特殊的活动标记。如果为“C”表示传输时进行了压缩操作,如果为“U”则        为在传输时进行了解压缩操作。多数情况下为“_”表示无动作

direction     文件传输的方向。“o”为下载,“i”为上传

access-mode      登录用户的类型。“a”为匿名用户,“r”为本地(系统)用户

username   登录用户的名称

service-name     本次传输调用的服务名称。显示为ftp

authentication-method       验证方法。一般为数字“0”,如果为“1”时使用了RFC931定义的验证方法

authenticated-user-id       如果未使用RFC931定义的验证方法,则这部分显示“*”。否则返回用户ID

completion-status     完成状态。“c”表示本次传输成功完成,“i”则说明这次传输没有完成,              可能被意外地中断了

 

         port主动方式的FTP是这样的:客户端从一个任意的非特权端口NN>1024)连接到FTP服务器的命令端口,也就是21端口。然后客户端开始监听端口N+1,并发送FTP命令“port N+1”FTP服务器。接着服务器会从它自己的数据端口(20)连接到客户端指定的数据端口(N+1)。

         pasv客户端打开两个任意的非特权本地端口(N > 1024N+1)。第一个端口连接服务器的21端口,但与主动方式的FTP不同,客户端不会提交PORT命令并允许服务器来回连它的数据端口,而是提交 PASV命令。这样做的结果是服务器会开启一个任意的非特权端口(P > 1024),并发送PORT P命令给客户端。然后客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。

 

数据连接的作用

         从客户向服务器上传一个文件

         从服务器向客户下载一个文件

         从服务器向客户发送文件或目录列表