1.FTP连接及传输模式

    FTP服务器默认使用TCP协议的20,21端口与客户端进行通信。20端口用于建立数据连接,并传输文件数据;21端口用于建立控制连接,并传输FTP控制命令。

    FTP数据连接分为主动模式和被动模式

    ■ 主动模式:服务器主动发起数据连接。

    ■ 被动模式:服务被动等待数据连接。

    客户端与服务器建立好数据连接以后,在传输文件时,根据是否进行字符转换,分为文本模式和二进制模式。

    ◆ 文本模式:又称为ASCII(American Standard Code for Information Interchange,美国信息交换标准码)模式,这种模式在传输文件时使用ASCLL标准符序列,一般只用于纯文本文件的传输。

    ◆ 二进制模式:又称为Binary模式,这种模式不会转换文件中的字符序列,更适合传输程序,图片等非纯文本字符的文件。

2.FTP用户类型

    匿名用户(ftp或anonymous) 本地用户和虚拟用户(提高安全性)

3.FTP服务器软件的种类。

    Linux系统中,vsftpd是目前在Linux/UNIX领域应用十分广泛的一款FTP服务软件。Vsftpd服务的名称来源于"Very Secure FTP Daemon"。

4.FTP客户端工具的种类

    最简单的FTP客户端工具莫过于ftp命令程序了。windows系统和linux系统默认都自带有ftp命令程序,可以连接到FTP服务器进行交互式的上传,下载通信。

5.vsftpd的配置文件

    vsftpd服务的配置文件位于/etc/vsftpd/目录下,包括用户列表文件(ftpusers,user_list)和主配置文件(vsftpd.conf)等。

    用户列表文件ftpusers和user_list

    ● ftpusers文件:此文件中列出的用户将禁止登陆vsftpd服务器,不管该用户是否在user_list文件中出现。默认已包括root,bin,daemon等用于系统运行的特殊用户。

    ● user_list文件:此文件中包含的用户可能被禁止登录,也可能被允许登录,具体取决于主配置文件vsftpd.conf中的设置。当存在”userlist_enable=YES“的配置项时,user_list列表文件方可生效;若指定”userlist_deny=YES“,则仅禁止此列表中的用户登录,若指定”userlist_deny=NO“,则仅允许列表中的用户登录。

6.主配置文件vsftpd.conf常见配置项及含义说明

    作用范围    配置项及示例                          含义说明

    匿名用户    anonymous_enable=YES               是否允许匿名访问

                anon_umask=022              设置匿名用户所上传文件的默认权限掩码值

                anon_root=/var/ftp    设置匿名用户的ftp根目录(默认为/var/ftp/)

                anon_upload_enable=YES    是否允许匿名用户上传文件

                anon_mkdir_write_enable=YES    是否允许匿名用户有创建目录的写入权限

                anon_other_write_enable=YES    是否允许匿名用户有其他写入权限,如对

                                               文件改名,覆盖及删除文件等

                anon_max_rate=0    限制匿名用户的最大传输速率(0为无限制),单位为字                                    节/秒


    本地用户    local_enable=YES    是否允许本地系统用户访问

                local_umask=022    设置本地用户所上传文件的默认权限掩码值

                local_root=/var/ftp    设置本地用户的ftp根目录(默认为用户的宿主目                                         录)

                chroot_local_user=YES    是否将FTP本地用户禁锢在宿主目录中

                local_max_rate=0    限制本地用户的最大传输速率(0为无限制),单位字                                     节/秒

                

    全局配置    listen=YES    是否以独立运行的方式监听服务

                listen_address=0.0.0.0    设置监听FTP服务的ip地址

                listen_port=21    设置监听FTP服务的端口号

                write_enable=YES    启用任何形式的写入权限(如上传,删除文件等)都需                                     要开启此项

                download_enable=YES    是否允许下载文件

                dirmessage_enable=YES    用户切换进入目录时显示.message文件,的内容

                xferlog_enable=YES    启用xferlog日志,默认记录到/var/log/xferlog

                xferlog_std_format=YES    启用标准的xferlog日志格式,若禁用此项,将                                           使用vsftpd自己的日志格式 

                connect_from_port_20=YES    允许服务器主动模式(从20端口建立数据连                                              接)

                 pasv_enable=YES    允许被动模式连接

                 pasv_max_port=24600    设置用于被动模式的服务器最大端口号

                 pasv_min_port=24500    设置用于被动模式的服务器最小的端口号

                 pam_service_name=vsftpd    设置用于用户认证的PAM文件位置                                                       (/etc/pam.d/目录中对应的文件名) 

                 userlist_enable=YES    是否启用user_list用户列表文件

                 userlist_deny=YES    是否禁止user_list列表文件中的用户账号

                 max_clients=0    最多允许多少个客户端同时连接(0为无限制)

                 max_per_ip=0    对来自同一个ip地址的客户端,最多允许多少个并发连接

                 tcp_wrappers=YES    是否启用TCP_Wrappers主机访问控制