FTP协议就是文件传输控制协议,FTP开放端口;20(数据传输连接),21(控制命令连接)
FTP的两种工作模式:主动模式(Active)与被动模式(Passive)
FTP服务工作原理:
- 主动模式
控制连接的发起方是FTP的客户端,而数据连接的发起方是FTP服务器。
控制连接的端口号是21,数据连接的端口号是20.
局域网内无防火墙的文件传输。
- 被动模式
控制连接的发起方是FTP的客户端,数据连接的发起方也是FTP客户机。
控制连接的端口号是21,数据连接的端口号是随机的(大于1024)。
互联网中有防火墙的文件传输。
FTP服务的访客身份
- 本地用户访问:访问者使用系统中已经存在的真实用户的账户登陆访问。
- 匿名用户访问:访问者统一用anonymous账户登录访问
- 虚拟用户访问:访问者统一使用一个非真实账户登录访问。
VSFTPD服务于进程:Vsftpd可同时允许匿名与本地用户访问。
配置文件:/etc/vsftpd/vsftpd.conf
FTP服务配置:
配置参数:1.控制匿名用户是否能够登录(默认为yes)
anonymous_enable=YES/NO
2.设定匿名访问的根目录(默认为:/var/ftp)
anon_root=/var/ftp
3.此参数用来设定匿名用户的用户名(默认为ftp)
ftp_username=ftp
4.控制是否只允许匿名用户下载可阅读的文件。
anon_world_readable_only=NO
5.是否允许匿名ftp用户访问并上传文件(默认不支持)
anon_upload_enable=NO
6.匿名用户是否有除上传之外的其他权限(如:删除,改名等)
anon_other_write_enable=NO
7.是否允许匿名用户有创建目录的权利
anon_mkdir_write_enable=NO
8.是否确信端口传输来自20(ftp-data)
connect_from_port_20=YES
9.设定是否改变匿名上传的文件的拥有者
chown_uploads=YES
10.设定匿名上传的文件的拥有者
chown_username=username
11.是否支持tcp_wrappers实现对主机的访问控制
Tcp_wrappers=YES
指定本地用户访问的/目录:local——root=目录绝对路径
Userlist_enable=YES
Userlist_deny=NO #YES表示文件中的用户不能登录,文件外的用户可以登录,NO是相反