FTP简单搭建(一)
一、FTP服务介绍
vsftp(very security ftp file transfer protocol 非常文件传输协议)
FTP分为主动模式和被动模式。
主动模式:(不安全,传数据的端口是固定的20号,容易被截取)
1、 客向服的21号端口发送连接请求信号
2、 服使用20号端口主动和客连接,服使用20号发送的数据,客通过>1024的随机端口接收。
被动模式:(安全,传数据的端口是>1024的随机端口,不易被截取)
1、 客向服的21号端口发送连接请求信号
2、 服使用>1024随机端口主动和客连接,服使用>1024的随机端口发送的数据,客通过>1024+1的随机端口接收。
#lftp 登录服务器的这一瞬间的流程:
1、-------------tcp connection ------------->
首先,客户端向服务端发送建立连接的请求
2、<-------------220 ready ----------------
服务端反馈220的代码,表明21号端口处于正常侦听状态
3、-------------USER --------------------->
客户端向服务端发送一个用户名
4、<-------------331 authentication-----------
服务端反馈331代码,要求客户端输入验证密码
5、-------------PASSWD------------------->
客户端向服务端发送密码
6、<-------------230 login-------------------
服务端反馈230代码,如果验证通过允许客登录
7、-------------pwd ----------------------->
客户端向服务端发送一条指令,例如pwd显示当前路径
8、<-------------257 work path --------------
服务端反馈代码,显示当前工作路径,每个指令的反馈代码都不同
二、实验环境
VMware Workstation Pro15
Red Hat Enterprise Linux Server release 7.3 (Maipo)
xshell 6(可不需要)
三、安装服务
[root@b ~]# yum install -y vsftpd lftp
四、匿名用户访问
直接重启服务即可
[root@b ~]# systemctl restart vsftpd
测试
[root@b ~]# >/var/ftp/pub/1 [root@b ~]# ll /var/ftp/pub/1 -rw-r--r--. 1 root root 0 Jul 25 06:24 /var/ftp/pub/1 [root@b ~]# lftp b.kkcn.host lftp b.kkcn.host:~> ls drwxr-xr-x 2 0 0 15 Jul 25 10:24 pub lftp b.kkcn.host:/> cd pub/ lftp b.kkcn.host:/pub> ls -rw-r--r-- 1 0 0 0 Jul 25 10:24 1 lftp b.kkcn.host:/pub> get 1 lftp b.kkcn.host:/pub> exit [root@b ~]# ll -rw-r--r--. 1 root root 0 Jul 25 06:24 1
五、配置文件简述
vim /etc/vsftpd/vsftpd.conf 主配置文件 anonymous_enable=YES 允许匿名访问 local_enable=YES 允许本地 write_enable=YES 允许写入 anon_upload_enable=YES 允许匿名上传 anon_mkdir_write_ enable=YES 允许匿名用户创建新的目录 dirmessage_enalbe=YES 开启目录提示功能 xferlog_enable=YES 激活上传下载的日志 connect_from_port_20=YES 开启20号端口的主动模式 chown_username=whoever 指定匿名上传的用户 xferlog_file=/var/log/xferlog 日志文件,这个要反注释打开 xferlog_std_format=YES 启用日志的标准格式 idle_session_timeout=600 连接上服务器10分钟内,如果什么操作都不做,就会被服务器踢掉,默认300秒 date-connection-timeout=120 会话超时时间,如果因为断线导致连接断开,2分钟后,服务端会把客户端踢下去,默认300秒 ftpd_banner=Welcome to joinlabs 欢迎信息,在lftp没用 listen=NO NO只侦听ipv4, YES侦听ipv4和ipv6 listen_ipv6=YES 支持ipv6,但是不侦听ipv6也没用 userlist_enable=YES 启用黑名单
六、配套设置