本节主要学习FTP的概述,接口类型,端口,工作模式,如何安装,在安装中主配置文件目录,匿名用户验证,本地用户验证等。
目录
一、概述
FTP:linux下最常见的文件服务器,工作于应用层,实现文件传输
file transfer protocol 文件传输协议
二、FTP连接类型
1.命令连接
客户端发起请求,服务器响应,默认一直保持连接
2.数据连接
按需打开,按需关闭,与命令连接相关联,有可能同时打开多个数据连接
三、端口
控制连接 TCP/21
数据连接 20/随机端口
四、工作模式
1、主动模式
1、客户端用端口n连接服务器端的21号端口,建立连接并使用PORT命令告知服务器开启了n+1端口 |
2、连接建立后,服务器使用20端口主动向客户端的n+1端口发送连接,以建立数据连接 |
2、被动模式
1、客户端使用端口n连接FTP的21号端口,告知服务器使用被动模式 |
2、控制连接建立后,服务器建立端口P,使用PASV命令并告知客户端 |
3、客户端收到端口P后,使用n+1端口连接FTP的P端口,建立数据连接 |
五、安装配置
1、服务名
vsftpd
2、主配置文件
/etc/vsftpd/vsftpd.conf
3、用户控制文件
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
4、用户验证类型
①匿名用户
是一种最不安全的模式,任何人都可无需密码验证而直接登录到FTP服务器
②本地用户
是通过linux系统本地的账号密码进行验证登录,相比较匿名开放模式更安全,配置也比较简单。
5、安装
服务器安装vsftpd软件 |
客户端安装ftp,否则无法使用ftp命令 |
登录时,直接使用ftp命令加上服务器IP地址 |
6、匿名用户验证
①用户名:ftp或者anonymous
②用户密码:五
③工作目录:/var/ftp、/var/ftp/pub
④目录权限:更改工作目录pub/的权限,使匿名用户能够进行写入的操作
⑤可选配置项:
anon_upload_enable=[YES|NO] | 是否允许匿名用户上传文件 |
anon_mkdir_write_enable=[YES|NO] | 是否允许匿名用户创建目录 |
anon_other_write_enable=[YES|NO] | 是否开放匿名用户的其他写入权限(删除、改名) |
客户端验证
7、本地用户验证
①用户名:服务器的本地用户
②密码:服务器用户密码
③工作目录:本地用户的家目录
④可选配置项
local_enable=[YES|NO] | 是否允许本地用户登录FTP |
local_umask=022 | 本地用户上传文件的umask值 |
local_root=/var/ftp | 本地用户的FTP根目录 |
chroot_local_user=[YES|NO] | 是否将用户权限禁锢在FTP目录,确保安全 |
allow_writeable_chroo、t=YES | 是否允许写入 |
chroot_list_enable=YES|NO | 是否启用chroot_list_file |
在/etc/vsftpd/chroot_list文件中列出被不限制的用户的列表chroot_list_file=/etc/vsftpd/chroot_list |
本地用户登录验证:
创建本地用户lsqq1
修改配置文件
客户端查看:
本地登录禁锢在/var/ftp目录:
客户端查看:
⑤本地用户访问控制
①userlist_enable=YES |
userlist_deny=YES |
不允许/etc/vsftpd/user_list文件中出现的用户名登录FTP |
②userlist_enable=YES |
userlist_deny=NO |
仅允许/etc/vsftpd/user_list文件中出现的用户名登录FTP |
ftpusers |
不允许/etc/vsftpd/ftpusers文件中出现的用户名登录FTP,无论user_list如何设置 |
①验证:
修改配置文件
在/etc/vsftp/user_list文件中添加用户
客户端查看
验证②
配置文件中修改
查看文件user_list
客户端查看
验证③:
在ftpusers文件中未添加用户
客户端验证
在文件ftpusers中添加用户
客户端验证
输入正确密码无法登录
⑥本地用户使用被动模式传输
①配置项
pasv_enable=YES | 启用被动模式 |
pasv_min_port=2001 | 被动模式使用的最小端口号 |
pasv_max_port=2005 | 被动模式使用的最大端口号 |
②验证
服务器主配置文件添加上述3条记录,客户端下载文件时,查看端口号
修改配置文件