是什么
ftp是一种文件传输协议:用来上传和下载,实现远程共享文件,和统一管理文件
工作原理
用于互联网上的控制文件的双向传输 是一个应用程序。工作在TCP/IP协议簇的,其传输协议是TCP协议提高文件传输的共享性和可靠性,使用C/S模式的工作方式。连接时同时处理服务器和客户端的连接命令和数据传输,FTp将命令和数据分开传输,提高传输效率。
传输方式
文本模式
ASCII模式美国信息交换信息标准码 这种模式传输文件使用ASCII标准字符序列,一般只用于传输文件文件的传输
二进制模式
又称为Binary这种模式不会转换文件中的字符序列,跟适合传输程序图片等非文本文件
Vsftpd可支持最大15000并发连接数
两种模式
主动模式:客户端使用随即端口与服务器的21好端口建立控制连接,服务器端主动的使用20好端口向客户端的随机端口建立据连接,经过三次握手完成
被动模式:客户端使用随即端口向服务器的21号端口建立管理连接,服务器使用建立好的管理通道向客户端发送一个随机的端口号,然后客户端随机的向服务器端发过来的端口经过三次握手后建立好这个数据连接
使用两个端口:分别时控制端口和数据端口,控制端口使用21,数据端口主动模式先是20.被动模式下是一个随机的端口号
连接方式
管理连接
客户端使用随即端口(>1024,高位端口)向服务器的21号端口建立连接
数据连接
主动模式
服务器(20)主动向客户端()随机发起连接(服务器连客户端)
客户端的防火墙会拦截服务器发起的连接
被动模式
服务器(随机端口)等待客户端(随机端口)向自己发起连接(客户端连服务器)
服务器需要处理防火墙(关闭,添加策略)
登陆方式
普通本地用户模式
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则只允许该列表中的用户登录
若一个用户同时存在两个文件中,黑名单生效,该用户不能登陆
虚拟用户模式
使用虚拟用户可以将用户的登录名和密码不相同,提高服务器的安全性
第一步:创建文本格式的用户名和密码 奇数行为用户名,偶数行为密码
第二步:建立虚拟FTP用户的数据库文件
第三步:添加虚拟用户的映射账号
第三步:为虚拟用户建立PAM认证文件
第四步:修改配置文件添加虚拟用户的支持
Local_enable=YES #需要映射本地用户所以启用
Write_enable=YES ##启用上传写入权限
Guest_enable=YES ##开启虚拟用户
Anon_umask=022 ### 指定上次权限掩码
Guest_username=* ###指定映射的本地系统用户
Pam_serrivce_name=vsftpd.vu ##指定新的pam认证文件
User_config_dir=/*/*/*/ ###为不同的虚拟用户设置不同的权限
匿名用户模式
anonymous_enabled=YES ##允许匿名访问模式。默认开的
Anonumask=022 ##匿名用户上传文件或目录权限,所上传的文件或目录的权限减去022文件默认权限是644 目录的755
Anon_upload_enable=YES ##允许匿名用户上传文件
Anon_mkdir_write_enable=YES ##允许匿名用户创建目录
Anon_other_ write_enable=YES ##允许匿名用户有其他的写入权限 (删除或者修改)