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主机访问控制