赞
踩
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
FTP (File TransferProtocol,文件传输协议)是典型的C/S架构的应用层协议,需要由服务端软件、客户端软件两个部分共同实现文件传输功能。FTP客户端和服务器之间的连接是可靠的,面向连接的,为数据的传输提供了可靠的保证。TCP 协议:20,21端口
FTP是一种文件传输协议,它支持两种模式,一种方式叫做Standard (也就是Active,主动方式),一种是Passive(也就是PASV,被动方式)。Standard模式 FTP的客户端发送PORT 命令到FTP server。 Passive 模式FTP的客户端发送PASV命令到FTP Server
FTP客户端首先和FTP Server的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。
PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口发送数据。FTP server必须和客户端建立一个新的连接用来传送数据。
在建立控制通道的时候和Standard模式类似,当客户端通过这个通道发送PASV命令的时候,FTP server打开一个位于1024和15000之间的随机端口并且通知客户端在这个端口上传送数据的请求,然后FTP server将通过这个端口进行数据的传送,这个时候ETP server不再需要建立一个新的和客户端之问的连接。
1)实验环境
服务器: CentOS 7 系统ip: 网络地址
客户端: Win10 系统ip: 网络地址
very secure ftlp
2)软件安装
linux 系统中,是vsftpd提 供ftp的服务(没有依赖包,可直接yum安装,也可光盘安装)
yum install -y vsftpd
3)配置文件
/etc/ vsftpd/ vsftpd. conf ftp服务器的主配置文件
/etc/pam.d/vsftpd
/etc/vsftpd/ ftpusers 禁止登陆用户名单,默认root 不能登陆
/etc/vsftpd/user_ 用户名 可以通过设置只有这个名单里的用户可以登陆,如果同一用户同时 出现在ftpusers和user_ 用户名 那么该用户也是被禁止登陆,取最严权限.
/var/ ftp ftp的根目录,默认登陆位置
/var/ ftp/pub .
4)用户
①匿名用户: anonymous/ftp 默认开启,密码为空
②本地用户: linux系统中的用户(无需配置可直接登陆但有安全隐患)
③虚拟用户:自定义的虚拟用户(配置麻烦但相对安全)
5)开启服务
systemctl start vsftpd
6)匿名用户默认可下载但不能上传,修改匿名用户权限可上传
修改/etc/vsftpd/vsftpd.conf,开启anon _upload_ enable-YES
修改/var/ ftp/pub为777权限,不要修改/var/ftp的权限否则无法登陆
7)允许root登陆.
修改/etc/vsftpd/ ftpusers,将root注释
修改/etc/vsftpd/vsftpd.conf,添加一行userlist_ _deny-NO
重启服务.
8)锁定用户家目录不可随意切换
修改/etc/vsftpd/ vsftpd. conf
chroot_ local_ user-YES 取消注释, 锁定家目录了,但是如果家目录有写权限ftp会拒绝连接
allow writeable chroot-YES 添加这一行
(9)重启服务
tepdump -i ens33 -nnX port 21
-nn:直接以IP及portnumber显示,而非主机名与服务名称
-X :可以列出十六进位(hex) 以及ASCII 的封包內容,对于监听封包內容很有用
yum info vsftpd
FTP (File Transfer Protocol: 文件传输协议) 作用: Internet上用来传送文件的协议。
VSFTP全称 (very secure FTP )
VSFTP模式: C/S模式
FTP服务器默认使用TCP协议的20、21端口与客户端进行通信
20端口用于建立数据连接,并传输文件数据
21端口用于建立控制连接,并传输FTP控制命令
FTP数据连接分为主动模式和被动模式
主动模式:服务器主动发起数据连接
被动模式:服务器被动等待数据连接
开启服务,关闭防火墙和增强型安全功能X
systemctl stop firewalld
setenforce 0
rpm -qa l grep vsftp
yum install -y vsftpd
cd /etc/ vsftpd/
cp vsftpd. conf vsftpd. conf .bak
1)修改配置文件
vim /etc/vs ftpd/vsftpd. conf
anonymous_ enable-YES 开启匿名用户访问。默认已开启(FTP)
write_ enable=YES 开放服务器的写权限(若要上传,必须开启)。默认已开启
anon_ umask=022 设置匿名用户所上传数据的权限掩码(反掩码)。
anon_ upload_ enable-YES 允许匿名用户。上传文件。默认已注释,需取消注释
anon_ mkdir_ write_ enable=YES 允许匿名用户创建(.上传)目录。默认E注释,需取消注释
anon_ other_ write_enable=YEs 允许其他删除、重命名、覆盖等操作。需添加
chmod 777 /var/ftp/pub/ 为匿名访问ftp的根目录下的pub子目录设置最大权限,以便着 名用户上传数据
2)开启服务,关闭防火墙和增强型安全功能
systemctl start vsftpd .
systemctl stop firewalld
setenforce 0
3)匿名访问测试
在windows 系统打开开始菜单,输入cmd命令打开命令提示符
建立ftp连接
ftp 网络地址
匿名访问,用户名为ftp, 密码为空,直接回车即可完成登录
ftp> pwd 匿名访问ftp的根月录为Linux系统的/var/ftp/目录
ftp> ls 查看当前目录
ftp> cd pub 切换到pub目录
ftp> get文件名 下载文件到当前Windows本地目录
ftp> put文件名 上传文件到ftp目录
ftp> quit 退出
yum install -y vsftpd
vim vsftpd.conf
开启服务,关闭防火墙和增强型安全功能
验证
在Windows系统打开开始菜单,输入cmd命令打开命令提示符
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。