时间:2023-06-02 16:16:41 来源: 人气:
FTP是仅基于TCP的服务,不支持UDP,与众不同的是FTP使用2个端口,一个是数据端口和一个命令端口【也可叫做控制端口】。通常来说这两个端口是21命令端口和20的数据端口,FTP分主动FTP和被动FTP。, 主动FTP:, 客户端从一个任意的非特权端口N(N>1024)连接到FTP服务器的命令端口,也就是21端口。然后客户端开始监听端口N+1,并发送FTP命令“port N+1”到FTP服务器。接着服务器会从它自己的数据端口20连接到客户端制定的数据端口(N+1)., 被动FTP【PASV】, 在被动方式的FTP中,命令连接和数据连接都是由客户端主动发起。当打开一个FTP连接时,客户端打开两个任意的非特权本地端口N ,N+1(N>1024)第一个端口连接服务器的21端口,但与主动方式FTP方式不同的是客户端不会提交POST命令并允许服务器来回连它的数据端口,而是提交PASV命令。这样做的结果是服务器开启一个任意的非特权端口P(P>1024)并发送POST P命令给客户端,然后由客户端发起从本地端口N+1到服务器的端口P的连接来传送数据。, 配置文件:, 主配置文件:vsftpd.conf, 锁定用户家目录的用户列表文件:chroot_list, 限制用户列表文件:user_list, FTP用户列表文件:ftpusers, VSFTP参数详解:, #是否使用服务器本地时间?YES为是 NO为否, use_localtime=YES, #用户是否有写权限, write_enable=YES, #用户是否可以下载?设置为YES即允许用户下载, download_enable=YES, 是否显示目录下的.message文件, dirmessage_enable=YES, #用户可以使用的ftp命令cmds_allowed=,ABOR,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,RMD,RNFR,RNTO,SIZE,STOR,TYPE,,USER,ACCT,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST,DELE, #是否开启上传下载日志, xferlog_enable=YES, #日志文件路径, xferlog_file=/var/log/vsftpd.log, 设置用户空闲会话中断时间, #idle_session_timeout=600, 设置空闲的数据连接中断时间, #data_connection_timeout=60, #服务器最大用户连接数, max_clients=50, #每个ip最大连接数, max_per_ip=5, 是否允许用户ASCII模式上传、下载, ascii_upload_enable=NO, ascii_download_enable=NO, connect_from_port_20=YES, 是否允许被动连接, pasv_enable=YES, 设置被动连接的最小端口, pasv_min_port=65400, 设置被动连接的最大端口, pasv_max_port=65420, 设置PAM认证服务器的配置,该文件放在/etc/pam.d目录下,, pam_service_name=vsftpd, 使用/etc/hosts.allow和/etc/hosts.deny两个文件实现访问控制, tcp_wrappers=YES, 监听端口, listen_port=21, 是否监听, listen=YES, #是否开启匿名用户, anonymous_enable=NO, #是否开启本地用户, local_enable=YES, #文件上传后的权限 022相当于 -rw-r--r—, local_umask=022, #是否将用户锁定在用户家目录下, chroot_list_enable=YES, #需要锁定家目录的用户列表文件, chroot_list_file=/etc/vsftpd/chroot_list, #是否使用用户限制列表, userlist_deny=YES, #用户限制列表文件, userlist_file=/etc/vsftpd/user_list, #文件传输最大速度, local_max_rate=900000,