概述
FTP:linux下最常见的文件服务器,工作于应用层,实现文件传输
FTP:file transfer protocol 文件传输协议
FTP连接类型
命令连接客户端发起请求,服务器响应默认一直保持连接
数据连接按需打开,按需关闭,与命令连接相关联
有可能同时打开多个数据连接
主动模式
1、客户端用端口n连接服务器端的21号端口,建立连接并使用PORT命令告知服务器开启了n+1端口
2、连接建立后,服务器使用20端口主动向客户端的n+1端口发送连接,以建立数据连接
被动模式
1、客户端使用端口n连接FTP的21号端口,告知服务器使用被动模式
2、控制连接建立后,服务器建立端口P,使用PASV命令并告知客户端
3、客户端收到端口P后,使用n+1端口连接FTP的P端口,建立数据连接
服务名
vsftpd
主配置文件
/etc/vsftpd/vsftpd.conf
用户控制文件
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
用户验证类型
匿名用户
是一种最不安全的模式,任何人都可无需密码验证而直接登录到FTP服务器
可选配置项
anon_upload_enable=[YES|NO] 是否允许匿名用户上传文件
anon_mkdir_write_enable=[YES|NO] 是否允许匿名用户创建目录
anon_other_write_enable=[YES|NO] 是否开放匿名用户的其他写入权限(删除、改名)
启动
客户端安装
服务端 /etc/vsftpd/vsftpd.conf进去 anon_upload_enable=[YES|NO] 是否允许匿名用户上传文件
客户端 没问题
没问题
服务端/etc/vsftpd/vsftpd.conf进去 anon_mkdir_write_enable=[YES|NO] 是否允许匿名用户创建目录
mkdir 创建目录
/etc/vsftpd/vsftpd.conf进入 anon_other_write_enable=[YES|NO] 是否开放匿名用户的其他写入权限(删除、改名
rm 删除
创建个用户备用
local_enable=[YES|NO] 是否允许本地用户登录FTP
local_umask=022 本地用户上传文件的umask值
查看IP备用
本地可以登录
local_root=/var/ftp 本地用户的FTP根目录chroot_local_user=[YES|NO] 是否将用户权限禁锢在FTP目录,确保安全
允许写入才能写东西
设置了 是否将用户权限禁锢在FTP目录,确保安全所以
在/etc/vsftpd/chroot_list文件中列出被不限制的用户的列表
在/etc/vsftpd/chroot_list文件中列出被不限制的用户的列表chroot_list_file=/etc/vsftpd/chroot_list
进入之后不会被限制
查看
userlist_enable=YES userlist_deny=YES
不允许/etc/vsftpd/user_list文件中出现的用户名登录FTP
创建一个用户备用
仅允许/etc/vsftpd/user_list文件中出现的用户名登录FTP
userlist_enable=YES
userlist_deny=NO
ftpusers
不允许/etc/vsftpd/ftpusers文件中出现的用户名登录FTP,无论user_list如何设置
本地用户使用被动模式传输
配置项
pasv_enable=YES 启用被动模式
pasv_min_port=2001 被动模式使用的最小端口号
pasv_max_port=2005 被动模式使用的最大端口号
验证
服务器主配置文件添加上述3条记录
客户端下载文件时,查看端口号
客户端登陆 下载 文件 服务端看到端口号
下次再见