目录
一、FTP(File TransferProtocol,文件传输协议)
引言:学习ftp。进行远程连接
一、FTP(File TransferProtocol,文件传输协议)
是典型的 c/s 架构的应用层协议,需要由服务端软件、客户端软件两个部分共同实现文件传输功能。FTP客户端和服务器之间的连接是可靠的,面向连接的,为数据的传输提供了可靠的保证。
tcp协议有20跟21两个端口
21端口:用于传输指令
20端口:用于传输数据
二、FTP的作用及工作原理
FTP数据连接分为主动模式和被动模式
主动模式:服务器主动发起数据连接
被动模式:服务器被动等待数据连接
Standard模式(主动模式)
FTP客户端首先和FTP Server的TCP
21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口发送数据。 FTP server必须和客户端建立一个新的连接用来传送数据。
Passive模式(被动模式)
在建立控制通道的时候和standard模式类似,当客户端通过这个通道发送PASV命令的时候,FTP
server打开一个位于1024和5000之间的随机端口并且通知客户端在这个端口上传送数据的请求,然后FTP server将通过这个端口进行数据的传送,这个时候FTp server不再需要建立一个新的和客户端之间的连接
三、搭建和配置FTP服务
1.先关闭防火墙和增强型安全功能
2.查看信息
yum info vsftpd 或 rpm -qa|grep vsftpd
如果没有安装,使用yum安装
yum install -y vsftpd
systenctl start vsftpd #开启ftp服务
cd /etc/vsftp #切换服务配置目录
cp vsftp.conf vsftp.conf.bak 并且做备份
四、案例
修改配置文件
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES #开启匿名用户访问。默认开启
write_enable=YES #开放服务器的写权限(若要上传必须开启)。默认已开启
anon_umask=022 #设置匿名用户所上传数据的权限掩码(反掩码)
anon_upload_enable=YES #允许匿名用户上传文件。默认已注释,需取消注释
anon_mkdir_write_enable=YES #允许匿名用户创建(上传)目录。默认已注释,需取消注释
anon_other_write_enbale=YES #允许删除、重命名、覆盖等操作。需添加
chmod -R 777 /var/ftp/pub/ #为匿名访问ftp的根目录下的pub子目录设置最大权限
以便匿名用户上传数据
systemctl restart vsftpd #重启服务
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
[root@localhost ~]# chmod -R 777 /var/ftp/pub/
vim /etc/vsftpd/vsftpd.conf
匿名用户访问
anonymous_enable=YES #开启匿名用户访问。默认开启
write_enable=YES #开放服务器的写权限(若要上传必须开启)。默认已开启
anon_umask=022 #设置匿名用户所上传数据的权限掩码(反掩码)
anon_upload_enable=YES #允许匿名用户上传文件。默认已注释,需取消注释
anon_mkdir_write_enable=YES #允许匿名用户创建(上传)目录。默认已注释,需取消注释
anon_other_write_enbale=YES #允许删除、重命名、覆盖等操作。需添加
在windows系统打开开始菜单,输入cmd命令打开命令提示符
ftp 192.168.223.9 #建立ftp连接
匿名访问时,用户名为ftp,密码为空,直接回车即可完成登录
ftp> pwd #匿名访问ftp的根目录为Linux系统的/var/ftp/目录
ftp> ls #查看当前目录
ftp> cd pub #切换到pub目录
ftp> get 文件名 #下载文件到当前windows本地目录
ftp> put 文件名 #上传文件到ftp目录
ftp> quit #退出
总结:
远程操作使用ftp是必须知道的知识,多多学习。