FTP文件传输协议(实现windows与linux文件互传)

FTP文件传输协议(实现windows与linux文件互传)

一、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服务器上传、下载文件。

二、FTP通信端口

FTP服务器默认使用TCP协议的20、21端口于客户端进行通信
20端口用于建立数据连接,并传输文件数据
21端口用于建立控制连接,并传输FTP控制命令

三、FTP数据连接

FTP数据连接分为主动模式和被动模式
主动模式:服务器主动发起数据连接
被动模式:服务器被动等待数据连接

四、FTP连接实验详解

1、实验环境:虚拟机Centos7,虚拟机Windows10

(1)、安装vfstp安装包

yum install -y vsftpd
cd /etc/vsftpd/
cp vsftpd.conf vsftpd.conf.bak #备份配置文件

在这里插入图片描述
在这里插入图片描述

(2)、设置匿名用户访问的FTP服务(最大权限)

(1)、修改配置文件

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_enable =YES #允许删除、重命名、覆盖等操作。需添加

在这里插入图片描述

(2)、为匿名访问ftp的根目录下的 pub子目录设置最大权限,以便匿名用户上传数据

chmod 777 /var/ftp/pub/

在这里插入图片描述

(3)、开启服务,关闭防火墙和增强型安全功能

systemctl start vsftpd
systemctl stop firewalld
setenforce 0

(4)、匿名访问测试

在Windows系统打开 开始 菜单,输入 cmd 命令打开命令提示符

建立ftp连接:ftp 192.168.126.10 (虚拟机ip地址)

#匿名访问,用户名为ftp,密码为空,直接回车即可完成登录
ftp> pwd #匿名访问ftp的根目录为Linux系统的/var/ftp/目录
ftp> ls #查看当前目录
ftp> cd pub #切换到pub 目录
ftp> get 文件名 #下载文件到当前Windows本地目录 ftp> put 文件名 #上传文件到ftp目录
ftp> quit #退出

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

下面打开虚拟机win10,下载试一下

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

我们试一下在win10上创建文件,能否上传到虚拟机centos7上面

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2、设置本地用户验证访问ftp,并禁止切换到ftp以外的目录(默认登录的根目录为本地用户的家目录)

虚拟机CentOS7

1、修改配置文件

vim /etc/vsftpd/vsftpd.conf
local_enable=Yes #启用本地用户
anonymous_enable=NO #关闭匿名用户访问
write_enable=YES #开放服务器的写权限(若要上传,必须开启)
anon_umask=077 #可设置仅宿主用户拥有被上传的文件的权限(反掩码)
chroot_local_user=YES #将访问禁锢在用户的宿主目录中
allow_writeable_chroot=YES #允许被限制的用户主目录具有写权限

在这里插入图片描述

在这里插入图片描述

2、重启服务
systemctl restart vsftpd

3、创建用户,方便验证

[root@localhost pub]#useradd lisi` `[root@localhost pub]#passwd lisi

在这里插入图片描述

虚拟机win10,使用win10验证
在这里插入图片描述

虚拟机CentOS7

在这里插入图片描述

虚拟机win10

在这里插入图片描述

  • 40
    点赞
  • 110
    收藏
    觉得还不错? 一键收藏
  • 20
    评论
WindowsLinux 之间传输文件,可以使用以下几种方法: 1. 使用 FTP:可以在 Windows 上安装一个 FTP 服务器,然后在 Linux 上使用 FTP 客户端连接到 Windows 服务器,然后传输文件。 2. 使用 SCP:SCP 是 Secure Copy 的缩写,是基于 SSH 协议的一种安全的文件传输协议。可以在 Linux 终端中使用 scp 命令将文件Windows 传输到 Linux。 3. 使用 Samba 共享:Samba 是一种允许 LinuxWindows 系统之间共享文件的协议。可以在 Windows 上安装 Samba 服务器,然后在 Linux 上挂载 Windows 共享,然后传输文件。 以下是使用 SCP 在 WindowsLinux 之间传输文件的具体步骤: 1. 在 Windows 上安装一个 SSH 客户端,比如 PuTTY。 2. 在 Linux 上使用 SCP 命令将文件Windows 传输到 Linux。假设 Windows IP 地址为 192.168.1.100,要传输的文件为 file.txt,Linux 用户名为 user,Linux IP 地址为 192.168.1.200,传输命令如下: ``` scp user@192.168.1.100:/path/to/file.txt /path/to/destination/folder/ ``` 其中,/path/to/file.txt 是 Windows 上的文件路径,/path/to/destination/folder/ 是 Linux 上的目标文件夹路径。scp 命令会提示输入 Windows 用户名和密码。 3. 如果要将文件Linux 传输到 Windows,可以在 Windows 上安装一个 SCP 服务器,比如 WinSCP,然后在 Linux 上使用 SCP 命令将文件传输到 Windows。假设 Windows 用户名为 user,密码为 password,Windows IP 地址为 192.168.1.100,要传输的文件为 file.txt,Linux 用户名为 user,Linux IP 地址为 192.168.1.200,传输命令如下: ``` scp /path/to/file.txt user@192.168.1.100:/path/to/destination/folder/ -P 22 ``` 其中,/path/to/file.txt 是 Linux 上的文件路径,/path/to/destination/folder/ 是 Windows 上的目标文件夹路径,-P 22 指定 SSH 端口为 22。scp 命令会提示输入 Windows 用户名和密码。
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值