前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ftp 介绍

Ftp 介绍

作者头像
用户8639654
修改2021-08-18 17:55:47
3.3K0
修改2021-08-18 17:55:47
举报
文章被收录于专栏:云计算运维

Ftp 介绍

  • 文件传输协议(File Transfer Protocol,FTP),基于该协议FTP客户端与服务端可以实现共享文件、上传文件、下载文件。 FTP 基于TCP协议生成一个虚拟的连接,主要用于控制FTP连接信息,同时再生成一个单独的TCP连接用于FTP数据传输。用户可以通过客户端向FTP服务器端上传、下载、删除文件,FTP服务器端可以同时提供给多人共享使用。
  • FTP服务是Client/Server(简称C/S)模式,基于FTP协议实现FTP文件对外共享及传输的软件称之为FTP服务器源端,客户端程序基于FTP协议,则称之为FTP客户端,FTP客户端可以向FTP服务器上传、下载文件。
代码语言:javascript
复制
 FTP Server
 作用:提供文件共享服务,实现上传下载
 端口:
 21号,建立tcp连接  默认端口
 20号:传输数据

一、FTP基础

代码语言:javascript
复制
 软件包:        vsftpd
 FTP端口:         控制端口 command 21/tcp 
 配置文件:          /etc/vsftpd/vsftpd.conf

ftp主动模式

代码语言:javascript
复制
 ftp主动模式:客户端开启一个端口N(>1023)向服务端的21端口,建立连接,同时开启一个N+1,告诉服务端,我监听的是N+1端口,服务端接到请求之后,用自己的20端口连接到客户端的N+1端口,进行传输
 ​
 21端口建立连接
 20端口传输数据

ftp被动模式

代码语言:javascript
复制
 ftp被动模式:客户端同时开启两个端口(1024,1025),一个端口(1024)跟服务端的21端口建立连接,并请求,大哥,我连上了,你再开一个端口呗。服务端接到请求之后,随机会开启一个端口(1027)并告诉客户端我开启的是1027端口,客户端用另一个端口(1025)与服务端的(1027)端口进行连接,传输数据

Vsftp 服务器简介

  • 非常安全的FTP服务进程(Very Secure FTP daemon,Vsftpd),Vsftpd在Unix/Linux发行版中最主流的FTP服务器程序,优点小巧轻快,安全易用、稳定高效、满足企业跨部门、多用户的使用(1000用户)等。

二、vsftpd配置

代码语言:javascript
复制
 FTP Server(服务端)
 实验环境--准备两台机器
 关闭防火墙和selinux
 #systemctl stop firewalld
 #systemctl disable firewalld    
 #setenforce 0
 =========================================
 ftp-server 192.168.246.160
 client 192.168.246.161
 ==========================================
 [root@ftp-server ~]# yum install -y vsftpd
 [root@ftp-server ~]# systemctl start vsftpd
 FTP默认共享目录:/var/ftp
 [root@ftp-server ~]# touch /var/ftp/pub/test.txt  #创建文件到共享目录
 [root@ftp-server ~]# systemctl enable vsftpd
 [root@ftp-server ~]# cd /var/ftp/
 [root@ftp-server ftp]# ls
 pub
 [root@ftp-server ftp]# chown ftp.ftp pub/ -R  #修改根目录的属主与属组
 [root@ftp-server ftp]# ll 
 total 0
 drwxr-xr-x. 2 ftp ftp 22 Aug  3 03:15 pub
  • 重点:改变根目录的属主,如果不改变的话,只能访问,其他权限不能生效。因为我们是以ftp用户的身份访问的,而pub默认的属主属组是root。
  • 注意: - 修改完配置之后需要重启完服务才能生效 - 还需要从新从客户端登陆,否则修改后的配置看不到效果。

编辑配置文件

代码语言:javascript
复制
 [root@ftp-server ~]# vi /etc/vsftpd/vsftpd.conf ----找到29行将下面的注释取消
 34 anon_other_write_enable=YES
 
代码语言:javascript
复制
[root@ftp-server ~]# systemctl restart vsftpd
 FTP Clinet(客户端)
 关闭防火墙和selinux
 [root@client ~]# yum -y install lftp #安装客户端
 get命令(下载,首先要开启下载功能)
 [root@client ~]# lftp 192.168.246.160
 lftp 192.168.246.160:~> ls
 drwxr-xr-x    2 0        0               6 Oct 30  2018 pub
 lftp 192.168.246.160:/> cd pub/
 lftp 192.168.246.160:/pub> ls
 -rw-r--r--    1 14       50              0 Aug 02 19:14 test.txt
 lftp 192.168.246.160:/pub> get test.txt   #下载
 lftp 192.168.246.160:/pub> exit
 [root@client ~]# ls  #会下载到当前目录
 anaconda-ks.cfg  test.txt
 ​
 [root@client ~]# lftp 192.168.246.160
 lftp 192.168.246.160:/pub> mkdir dir  #也可以创建目录
 mkdir ok, `dir' created
 ​
 put命令(上传命令,上传之前请在服务端进行配置,将上传功能打开)
 [root@client ~]# touch upload.txt  #创建测试文件
 [root@client ~]# mkdir /test/  #创建测试目录
 [root@client ~]# touch /test/test1.txt #在测试目录下面创建测试文件
 [root@client ~]# lftp 192.168.246.160
 lftp 192.168.246.160:~> cd pub/
 lftp 192.168.246.160:/pub> put /root/upload.txt  #上传文件
 lftp 192.168.246.160:/pub> ls
 -rw-------    1 14       50              0 Nov 16 12:14 upload.txt
 drwx------    2 14       50              6 Aug 02 19:17 dir
 lftp 192.168.246.160:/pub> mirror -R /test/  #上传目录以及目录中的子文件
 Total: 1 directory, 1 file, 0 symlinks
 New: 1 file, 0 symlinks
 lftp 192.168.246.160:/pub> ls
 drwx------    2 14       50             23 Nov 16 12:18 test
 -rw-------    1 14       50              0 Nov 16 12:14 upload.txt
 ​
 mirror 下载目录

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Ftp 介绍
  • Vsftp 服务器简介
    • 编辑配置文件
    相关产品与服务
    云服务器
    云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档