FTP是一种文件传输协议:用来上传和下载,实现远程共享文件,和统一管理文件
工作原理:用于互联网上的控制文件的双向传输是一个应用程序。工作在TCP/IP协议簇的,其传输协议是TCP协议提高文件传输的共享性和可靠性,使用C/S模式的工作方式连接时同时处理服务器和客户端的连接命令和数据传输,FTP将命令和数据分开传输,提高传输效率
使用ftp服务:服务器端下载(vsftpd),客户端下载(ftp)
两种传输模式:
文本模式:ASCll模式美国信息交换信息标准码,这种模式传输文件使用ASCll准字符序列,一般只用于文件的传输
二进制模式:又称为Binary这种模式不会转换文件中的字符序列,跟适合传输程序图片等非文本文件
端口号:21
FTP连接方式:两个阶段--》管理连接,数据连接
两个端口:分别是控制端口和数据端口,控制端口使用21,数据端口主动模式先是20,被动模式下是一个随机的端口号。
管理连接:客户端使用随机端口(大于1024小于60535,高位端口)连接服务器的21端口
数据连接:
主动模式:服务器(用20端口)主动向客户端(随机端口大于1024)发起连接(服务器连接客户端)客户端的防火墙会拦截服务器发送的连接
开启主动模式
connext_from_port_20=no 允许服务器主动模式 (从20号端口连接)
pasv_enable=No 关闭被动模式
被动模式:服务器(用随机端口大于1024)等待客户端(用随机端口大于1024)向自己发起连接(客户端连接服务器)服务器需要处理防火墙(关闭,添加策略)
被动模式需要再主配置文件中打开默认就是被动模式
pasv_enable=YES 开启被动模式,使用被动模式连接,pasv请求
pasv_min_port=* 设置被动模式下服务器随机端口的范围的最小值
pasv_max_port=*设置被动模式下随机端口的范围的最大值
匿名用户模式:只允许下载
anonymous_enabled=YES 允许匿名模式访问
anonumask=022 匿名用户上传文件或目录权限,所上传的文件或目录的权限减去022文件默认权限是644目录是755
anon_upload_enable=YES 允许匿名用户上传文件
anon_mkdir_write_enable=YES 允许匿名用户创建目录
anon_other_write_enable=YES 允许匿名用户有其他的写入权限(删除或者修改)
授权普通本地用户:账号密码登录
local_enable=YES 允许本地用户访问
Write_enable=YES 允许用户在服务器上写入
Local_umask=022 ##本地用户上传文件的权限减去这个umask值
Userlist_deny=YES ##是否禁用user_list列表中的用户账号 若启用必须等于===NO
Userlist_enable=YES ##是否启用user_list列表中的用户账号
黑名单和白名单:
ftpusers黑名单文件,存在该文件中的用户无法登陆
User_list 白名单文件,如果设置userlist_deny=NO Userlist_enable=YES则只允许该列表中的用户登录
若一个用户同时存在两个文件中,黑名单生效,该用户不登录