vsftp 文件传输服务
一、了解 ftp 协议及原理
1. ftp 文件传输协议:是c/s结构应用,监听的控制端口是 tcp 协议21号端口。
2. ftp 的连接模式(传输模式):ftp连接的过程:先建立控制连接--传输连接--传输数据
- 主动模式:服务端21号端口主动发起数据连接,客户端使用大于1023号端口响应,建立连接后,使用20号端口传输数据,适用于客户端未开启防火墙的环境。
- 被动模式:服务端21号端口被动等待数据连接,客户端使用大于1023号端口进行请求,建立连接后,使用服务器提供被动模式的非20号端口大于1023号端口进行传输数据,适用于客户端开启防火墙的环境,比较常用的模式。
3. ftp 的传输方式 : ftp客户端自动选择的,无需设置
- 文本模式:ASCll,美国信息交换标准码,用于纯文本传输。
- 二进制模式:binary ,传输效率高,常用来传输非文本文件,比较常用。
4. ftp 的用户类型
- 匿名用户:(anonymous/密码空、ftp/ftp)。
- 本地用户:本机的系统用户账号,除匿名用户外。
- 虚拟用户: 位于独立数据库文件中的ftp用户账号,用过这种虚拟用户,为提供更安全的服务,将ftp服务与 linux系统的关联降至最低。
二、vsftp 的配置文件
1. 用户列表文件
- /etc/vsftpd/ftpusers (禁止登陆ftp用户、黑名单)
- /etc/vsftpd/user_list (如果主配置为文件中设置了 userlist_enable=YES,那么此文件方可生效,若userlist_deny=YES,则禁止此列表中用户登录; 若userlist_deny=NO ,那么表示仅允许此文件的用户登陆 ftp ).
2. 主配置文件:/etc/vsftpd/vsftpd.conf
- 配置项:使用命令 man 5 vsftpd.conf 查看配置项帮助。
三、配置匿名ftp、本地用户ftp、虚拟用户ftp
1.配置匿名ftp:
安装软件
备份配置文件,复制配置文件的样例文件(rpm -ql vsftpd查看路径)
启动服务并测试
2.配置本地ftp:
创建本地账号;
修改配置文件,实现功能,开启本地访问,并且配置权限以及用户上传文件的反掩码值;
启动测试;
3.配置虚拟用户的ftp:
建立虚拟ftp用户账号相关文件
创建ftp虚拟用户
建立支持虚拟用户的RAM认证文件
修改vsftpd.conf支持虚拟用户
为个别虚拟用户建立独立的配置文件
启动访问测试
四、ftp客户端:
lftp ftp://用户@ip 指定用户名密码登录
wget -p 下载目录 ftp://ip/目录名 直接下载文件