【Linux】基于FTP协议实现Linux与Windows文件传输

这篇具有很好参考价值的文章主要介绍了【Linux】基于FTP协议实现Linux与Windows文件传输。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

基于FTP协议实现Linux与Winodows实现文件传输,是大学期间的一个小实验。在这里做个总结。

(一) Linux FTP网络环境搭建

实验环境:

  • Linux CentOS 7.9
  • Xshell 7
  • Win10

1.安装ftp包

通过yum安装vxftpd pacakge,并按照如下指令执行

yum -y install vsftpd

修改 vsftpd.conf,此前先备份 成 vsftpd.conf.bak,防止该配置文件改错导致无法运行。

[root@localhost ~] cd /etc/vsftpd/
[root@localhost vsftpd] ls
ftpusers  user_list  vsftpd.conf  vsftpd_conf_migrate.sh
[root@localhost vsftpd] cp vsftpd.conf  vsftpd.conf.bak
[root@localhost vsftpd] ls
ftpusers  user_list  vsftpd.conf  vsftpd.conf.bak  vsftpd_conf_migrate.sh
[root@localhost vsftpd] vim vsftpd.conf
vsftpd.conf      vsftpd.conf.bak  

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

执行vim vsftpd.conf ,加上如下图红框所示的配置信息,允许开启匿名用户读写权限。
怎么通过ftp把linux文件拷贝到windows,Linux,linux,windows,运维

这里可以先退出vim的编辑模式,为了方便找到上述的红框配置信息在文件中的位置,执行下面的指令就可以看到这些文件所在的具体行数。

grep -n  --color=auto 'anon*' vsftpd.conf

怎么通过ftp把linux文件拷贝到windows,Linux,linux,windows,运维

然后vim vsftpd.conf,退出编辑模式,执行::set nu 就可以在vim编辑器中展示行数。
怎么通过ftp把linux文件拷贝到windows,Linux,linux,windows,运维

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

chmod 777 /var/ftp/pub/

4. 开启服务,关闭防火墙和增强型安全功能

分别执行下面三个指令

systemctl start vsftpd
systemctl stop firewalld
setenforce 0

执行:ifconfig,看到网卡 ip为192.168.1.128,保存好,后续连接会用到。
怎么通过ftp把linux文件拷贝到windows,Linux,linux,windows,运维

(二)Windows 设置用户名密码访问ftp服务器

  • 点击桌面上的我的电脑,然后点击映射网络驱动器

怎么通过ftp把linux文件拷贝到windows,Linux,linux,windows,运维

· 选择映射网络驱动器
怎么通过ftp把linux文件拷贝到windows,Linux,linux,windows,运维

设置指定网站地址:ftp://虚拟机网卡ip
怎么通过ftp把linux文件拷贝到windows,Linux,linux,windows,运维
这里可以设置匿名用户连接ftp也可以设置用户访问ftp连接。这里演示使用有用户名登录FTP.
怎么通过ftp把linux文件拷贝到windows,Linux,linux,windows,运维
怎么通过ftp把linux文件拷贝到windows,Linux,linux,windows,运维
随后点击登录,若FTP服务器地址填写无误,就会显示虚拟机文件内容:
怎么通过ftp把linux文件拷贝到windows,Linux,linux,windows,运维
我们打开“此电脑”,在网络配置中就可以看到我们配置的FTP连接了。
怎么通过ftp把linux文件拷贝到windows,Linux,linux,windows,运维
现在 Win+ R 键打开Windows控制台
执行:

ftp  192.168.1.128

根据指示输入账户和密码,也就是你前面填写的链接FTP服务器的账号密码:
怎么通过ftp把linux文件拷贝到windows,Linux,linux,windows,运维
随后在cmd控制台执行:

cd /etc
ls

怎么通过ftp把linux文件拷贝到windows,Linux,linux,windows,运维

测试:Windows下载Linux文件到本地

接下去在虚拟机上创建文件,写点东西。然后去windows界面看看。

[root@localhost vsftpd]  cd /var/ftp/pub/
[root@localhost pub] touch test.txt
[root@localhost pub] vim test.txt  # 往test.txt中写点东西
[root@localhost pub] ls
test.txt

回到Windows控制台进入 /ftp/pub 查看到 test.txt.使用 get test.txt,windows就会把内容下载到本地。C:\Users\Asus\test.txt(本地路径可能有点儿不一样)
怎么通过ftp把linux文件拷贝到windows,Linux,linux,windows,运维
怎么通过ftp把linux文件拷贝到windows,Linux,linux,windows,运维

(三)Windows 匿名访问ftp服务器

前面操作都是一样的,由于我们之前设置匿名用户允许使用FTP连接 pub 文件夹,选择匿名用户连接FTP服务器过程如下:
怎么通过ftp把linux文件拷贝到windows,Linux,linux,windows,运维

这里匿名用户只能访问 pub文件夹。
怎么通过ftp把linux文件拷贝到windows,Linux,linux,windows,运维
我们还是使用cmd指令,输入

ftp 192.168.1.128

此时系统还会提示,输入用户名密码:此时由于是匿名登陆,所以用户名为:anonymous密码任意输入 都可以登录成功
怎么通过ftp把linux文件拷贝到windows,Linux,linux,windows,运维
后续步骤和之前一样。

问题记录

1. “打开ftp服务器上的文件夹时发生错误,请检查是否有权限访问该文件夹"

这是在Windows10 FTP连接虚拟机时出错。原因可能是系统防火墙拦截了连接。

【方案】打开控制面板,搜索“Internet”选项。Internet选项>>高级>>将“使用被动FTP(用于防火墙和DSL调制解调器的兼容)”选项去掉>>确定即可
怎么通过ftp把linux文件拷贝到windows,Linux,linux,windows,运维
2.【Linux/CentOS】Boolean ftp_home_dir is not defined
安装完vsftpd软件后,因为CentOS系统的SELinux安全策略默认是没有开启FTP服务,直接访问会报错500 OOPS,所以需要修改为允许使用FTP服务。
目标:希望ftp用户可以访问自己的家目录
尝试:命令行输入

 sudo setsebool -P ftp_home_dir 1

发现会报错:Boolean ftp_home_dir is not defined

搜了一下原来是CentOS7开始用 tftp_home_dir 来代替了 ftp_home_dir ,所以应该修改如下:

sudo setsebool -P tftp_home_dir

这时我们再执行:

getsebool -a | grep ftp

查看ftp进程。
怎么通过ftp把linux文件拷贝到windows,Linux,linux,windows,运维
selinux文件配置在下处更改,更改完 reboot.配置生效。

vim /etc/sysconfig/selinux

3. FTP - 550 Failed to change directory

[root@localhost~]setfacl -R -m u:fy36:rwx /var/ftp/pub/
[root@localhost ~] usermod -a -G ftp fy36
[root@localhost ~] chmod g+s /var/ftp/pub/

详见 StackOverFlow

4.输入IP地址,root用户,密码,快速连接,报错:530 Permission denied。

故障排除:

1.首先检查系统是否开启了vsftp服务,如果没有开启,先开启该服务。
方法1.setup–系统服务–自启动服务
方法2.界面设置,service vsftpd restart
2.查看配置
vsftpd的配置,配置文件中限定了vsftpd用户连接控制配置。
vsftpd.ftpusers:位于/etc目录下。它指定了哪些用户账户不能访问FTP服务器,例如root等。
vsftpd.user_list:位于/etc目录下。该文件里的用户账户在默认情况下也不能访问FTP服务器,仅当vsftpd .conf配置文件里启用userlist_enable=NO选项时才允许访问。
vsftpd.conf:位于/etc/vsftpd目录下。来自定义用户登录控制、用户权限控制、超时设置、服务器功能选项、服务器性能选项、服务器响应消息等FTP服务器的配置。
3.配置修改完成后,执行service vsftpd restart重启vsftpd服务。

5. linux ftp failed open,Linux VSFTP提示500 OOPS: failed to open xferlog log file:/var/log/xferlog
例如 B 使用 FTP连接A时报错这个,我们试试A FTP 连接B即可。连接是相互的。文章来源地址https://www.toymoban.com/news/detail-762193.html

到了这里,关于【Linux】基于FTP协议实现Linux与Windows文件传输的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FTP(File Transfer Protocol,文件传输协议)是一种用于在网络上传输文件的协议

    FTP(File Transfer Protocol,文件传输协议)是一种用于在网络上传输文件的协议。它允许用户通过网络连接到远程计算机,并在本地计算机和远程计算机之间进行文件传输。 FTP分为两个主要角色:客户端和服务器。客户端是发起文件传输请求的计算机,而服务器是存放文件和响

    2024年02月05日
    浏览(37)
  • Java基于ftp协议实现文件的上传和下载

    相比其他协议,如 HTTP 协议,FTP 协议要复杂一些。与一般的 C/S 应用不同点在于一般的C/S 应用程序一般只会建立一个 Socket 连接,这个连接同时处理服务器端和客户端的连接命令和数据传输。而FTP协议中将命令与数据分开传送的方法提高了效率。 FTP 使用 2 个端口,一个数据

    2024年02月11日
    浏览(37)
  • FTP与HTTP: 哪种协议更适合大文件传输?

    随着互联网技术的发展,网络传输已成为了现代社会中不可或缺的一部分。无论是文本、图像、音频、视频等各种类型的数据,相应的传输协议也在不断地发展和更新。FTP(File Transfer Protocol)和HTTP(Hyper Text Transfer Protocol)是两种被广泛应用的协议,它们都在网络上进行数据

    2024年02月16日
    浏览(30)
  • Windows之间使用FTP服务传输文件

    服务器Win10,客户端Win11,两个电脑在同一局域网,我是使用一根网线连接 没有新建用户 没有考虑权限和安全等各种问题,只为了两个电脑传输文件快 在入站规则右击,新建规则 打开文件资源管理器,地址栏输入ftp://ip,输入服务器的用户和密码。 如果出现错误“打开ftp服

    2024年02月16日
    浏览(39)
  • Linux如何用ftp传输文件【ftp命令】

    在Windows系统中, 可以用可视化的ftp来传输文件, 或者下在文件夹路径填入 ftp://222.200.177.152:1021/ 后输入用户名和密码即可连接至 FTP 服务器(内网)。 即IP地址+端口号。 可以用ftp 命令 注意是之间是空格: 例如 即IP地址 端口号 然后就是输入用户名和密码 用 查看文件。 到

    2024年02月07日
    浏览(35)
  • Linux——FTP文件传输服务

    个人简介:云计算网络运维专业人员,了解运维知识,掌握TCP/IP协议,每天分享网络运维知识与技能。 座右铭:海不辞水,故能成其大;山不辞石,故能成其高。 个人主页:小李会科技的主页     目录  前言: 一.FTP文件传输服务介绍   二.搭建FTP文件传输服务 1.安装vsft

    2024年02月16日
    浏览(30)
  • Linux利用FTP服务传输文件

    目录 一、FTP协议 1.FTP协议简介 2.FTP文件传输过程 二、Linux系统配置FTP协议实现文件传输 实例1:匿名用户 实例2:本地用户访问 扩充修改配置:          与大多数 Internet服务一样,FTP也是一个c/s架构。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务

    2024年02月09日
    浏览(34)
  • 计算机 - - - windows电脑搭建FTP局域网文件传输服务器

    控制面板,打开程序和功能,启用或关闭Windows功能。 勾选这几个 然后点确定,应用更改成功后重启电脑生效。 打开IIS管理器。 添加ftp站点。 输入ftp站点名称,选择文件存放的物理路径。 ip地址设置为当前电脑的ip地址,端口默认21,无SSL。 身份验证选择匿名,基本(不选

    2024年02月07日
    浏览(41)
  • Ubuntu与Windows通讯传输文件(FTP服务器版)(没用的方法,无法施行)

    本文介绍再Windows主机上建立FTP服务器,并且在Ubuntu虚拟机上面访问Windows上FTP服务器的方法   只要按照上图配置就可以了 第二部:打开IIS管理控制台  右击网站,新建FTP站点。需要注意的一点是在填写IP地址的时候,只需要填写Windows本机的IP地址就可以了,不需要管虚拟机的

    2024年02月04日
    浏览(38)
  • SecureCRT & SecureFX 9.5 for macOS, Linux, Windows 下载 - 跨平台的多协议终端仿真和文件传输

    SecureCRT SecureFX 9.5 for macOS, Linux, Windows 下载 - 跨平台的多协议终端仿真和文件传输 请访问原文链接:SecureCRT SecureFX 9.5 for macOS, Linux, Windows,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org SecureCRT 客户端运行于 Windows、Mac 和 Linux,将坚如磐石的终端仿真与强大的

    2024年02月21日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包