跨平台的文件传输协议@windows端服务器的配置@smb协议共享方案@ftp服务器设置

news2024/12/28 5:37:44

文章目录

    • abstract
      • refs
    • ftp server
      • 下面是核心步骤
      • FAQ
    • smb server
      • 设置方法
    • 共享文件夹的访问控制补充
      • 匿名访问问题
      • 协议相关信息参考
      • android客户端推荐
      • FAQ
      • 不同用户文件无法访问
    • 比较和总结
      • 传输速率问题

abstract

  • 文件传输协议是很常用的协议
  • 特别是跨平台的协议,往往更加受欢迎,应用更加广泛
  • 本文介绍常见的局域网内便捷传输文件的若干协议
    • ftp协议(古老但是最常见的协议,虽然存在诸多缺点,但是临时使用往往足够满足需求,哪怕很古老的设备或软件都能够支持,有些软件其他协议要收费,唯独FTP不收费,是有这个优势)
    • smb协议(当前流行的协议,配置方便,尤其是windows上尤为方便,但手机端往往要选择合适的客户端,系统自带,有的客户端支持FTP,但不支持SMB)
    • webdav协议(逐渐流行的协议,更加强大,另见它文)
  • 本文主要介绍windows端的配置(充当服务器端)

refs

  • ES文件浏览器提供了相关协议的支持,其提供的文档简要介绍了配置和使用方法:
    • ES APP GROUP (estrongs.com)文档支持中英文切换(内容有些老旧,但作为参考也没有太大问题)

ftp server

  • windows自带的方式步骤稍微繁琐
    • 该功能系统往往不会默认启用,需要启动windows的功能
    • 配置防火墙(否则可能其他设备无法访问)
    • 但是不失为一种方案(毕竟作为一种基础通信协议,不需要额外安装软件)
  • 参考链接
    • FTP Sites | Microsoft Learn(官方文档)
    • FTP Directory Browsing | Microsoft Learn(官方文档)
    • How to set up and manage an FTP server on Windows 10 | Windows Central
    • 可供参考的视频:
      • 【教程】4分钟学会电脑开启ftp,手机上传文件到电脑ftp_哔哩哔哩_bilibili
      • 告别繁琐的Windows共享设置,试试搭建一个FTP来共享文件吧 bilibili

下面是核心步骤

  • windows控制面板中启用windows相关功能

    • 启用FTP和WEB功能设置防火墙
      请添加图片描述在这里插入图片描述
      可以通过windows开始菜单(快捷键win+s搜索:windows功能windows features快速打开;
      先按照左侧勾选的那样尝试是否可以工作(都勾选当然没问题,可能会占用更多资源罢了)
      同样可以通过搜索快速打开防火墙设置
      或者通过命令行输入Firewall.cpl快速启动该面板
  • 启动IIS并设置FTP服务站点

    1. 可以在快捷键win+r下输入%windir%\system32\inetsrv\InetMgr.exe快速启动

      • 或者在win+s下输入IIS搜索,找到Internet Information Services (IIS) Manager,
      • 它的所在目录可能是这样的"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\IIS Manager.lnk"
    2. 配置站点

      • 站点配置是很灵活的,可以根据自己的需要灵活配置,可以简单配置,也可以精细地配置

      • 简单的匿名访问配置

        • 在这里插入图片描述在这里插入图片描述
          ftp站点绑定的目录如果要作为匿名可访问,则建议设再D盘或其他系统盘之外的盘的某个文件夹或根目录下(C盘的某些和用户相关的目录要求登录用户账户密码,无法支持匿名登录,尽管ftp站点设置为匿名登录,这个要注意一下)例如站点目录设置在某个用户的桌面,那么意味着链接该ftp需要账号密码而无法匿名登录,这是为了安全起见
          在这里插入图片描述在这里插入图片描述
          设置为无需SSL简单起见,设置为所有用户可以访问
  • 其他设置

    • 在这里插入图片描述
    • 例如停止或重启ftp服务器,也可以移除它
    • 右侧的面版是拓展功能,一般用不上

FAQ

  • 如果使用过程中体验不要,例如容易上传某些文件时会出现权限错误,有的可以传,有的会失败,可以考虑
    • 更改传输失败的文件的文件名,最好时纯英文字母的名字,后期再改回来(或者压缩,更名)
    • 或者更换专业的传输软件(使用更合适的协议)进行传输

smb server

  • windows 默认和推荐的局域网传输协议,windows不强调其提供的共享功能是基于smb协议,但是功能背后的协议是smb协议
  • smb协议迭代了多个版本,现在已经是SMBv3,即第3个版本
  • 对于windows系统而言,基于smb配置简单(用户甚至不需要直到smb协议就可以完成配置),且传输较为安全高效

设置方法

  • 官方文档,列举出了问题清单和相应的解决办法和步骤,已经给出了最佳实践,这里仅提一下(整合其他设置方案)

    • 在 Windows 中通过网络共享文件 - Microsoft 支持
    • File sharing over a network in Windows - Microsoft Support
  • 总的来说,执行以下步骤:

    1. 配置网络(由多种方式,任选一种即可)

      • 命令行方式

        • netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=Yes
          netsh advfirewall firewall set rule group="Network Discovery" new enable=Yes
          
        • 以管理员方式启动cmd(或powershell)运行上述命令(回车执行)

          • PS C:\Users\cxxu\Desktop> netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=Yes
            
            Updated 48 rule(s).
            Ok.
            
            PS C:\Users\cxxu\Desktop> netsh advfirewall firewall set rule group="Network Discovery" new enable=Yes
            
            Updated 62 rule(s).
            Ok.
            
      • 使用图形界面方式配置

        • 在这里插入图片描述windows11下的设备可扫描设置
          在这里插入图片描述windows10下的设置
      • 如此局域网内的其他设备才能够扫描到当前设备,并且当前设备的文件或目录能够被其他设备访问

    2. 选择文件或文件夹进行共享

      • 打开资源管理器,右键进行共享设置

      • 包括选择哪些用户能够访问被共享的文件或目录

      • 为了安全考虑,windows逐渐禁止匿名访问smb服务,对于较新的系统,即使在设置网络中允许免密访问共享文件夹(文件),但是仍然需要登录某个账户才可以访问(来宾(Guest)匿名不再能轻易访问共享文件夹)

        • 这里建议创建一个专门共享文件的账户,来供其他设备验证身份来访问本机的提供的共享文件价

        • 新建的用户可以是普通用户,我们甚至不需要登录这个用户,例如设置本地用户smb_share,密码随意,不介意安全性时尽可能简单,毕竟在可信的局域网内,默认是安全的,特别是真个局域网只有自己用,自己用来传输文件,我们甚至不需要创建这个新用户,直接用已有的账户登录就行

        • 创建新用户:命令行中或者win+r输入:lusrmgr.msc启动新用户创建面板

          • 通用界面创建新用户新系统在选择授权用户时会提供创建入口
            在这里插入图片描述在这里插入图片描述
            步骤简单设置步骤较多
        • 创建新用户的相关参考:

          • Local Users and Groups | Microsoft Learn
          • windows@添加本地用户账户

共享文件夹的访问控制补充

匿名访问问题

免登录访问共享文件夹问题

  • SMB2 和 SMB3 中的来宾访问被禁用 - Windows Server | Microsoft Learn

    • SMB1默认支持匿名访问,对于较新系统,需要到控制面板中启动相关windows功能
      • 仅当需要兼容老设备或者实在想要匿名登录时考虑这么做(todo)
    • 新系统配置匿名smb访问比较麻烦,我们可以建立一个简单的windows用户(账号密码很短)来逼近匿名访问的体验
    • 事实上,smb协议的客户端通常由保存链接记录的功能,只要设置一次,后续就不需要输入账号密码,如果是一个人或很少人用,就更不用纠结了,配置一次就不需要再输入账号密码了(顶多smb服务器ip发生变换,但如果真的需要改ip无论是否匿名访问都要改,并不会造成更多麻烦,而且提高了一定的安全性)
  • 以下设置可能是无效的

    • 修改策略组

    • 或命令行修改注册表

      • PS C:\Users\cxxu\Desktop> reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters /v "AllowInsecureGuestAuth" /d 1 /t REG_DWORD
        The operation completed successfully.
        PS C:\Users\cxxu\Desktop> reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters
        
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters
            EnablePlainTextPassword    REG_DWORD    0x0
            EnableSecuritySignature    REG_DWORD    0x1
            RequireSecuritySignature    REG_DWORD    0x0
            ServiceDll    REG_EXPAND_SZ    %SystemRoot%\System32\wkssvc.dll
            ServiceDllUnloadOnStop    REG_DWORD    0x1
            AllowInsecureGuestAuth    REG_DWORD    0x1
        

协议相关信息参考

  • 使用 Windows Server 中的 SMB 3 协议的文件共享概述 | Microsoft Learn

android客户端推荐

  • cx file explorer: Cx File Explorer Apk Download - Best File Manager for Android!
    • 文档Cx File Explorer: Settings, Usage and Tips
    • 各种常见的传输协议都支持,并且再传输过程中的速度可以实时显示,比较好
    • 链接记录都保存着,下次链接很方便
    • 即便没有路由器,android端开热点,给计算机或其他设备链接,cx file explorer也能工作
  • 其他类似的app(这两个app会扫描局域网的服务器(ftp服务器或smb服务器),虽然不需要自己输入,但是扫描速度比较慢,自己输入往往更加快速)
    • solid explorer
    • es explorer
  • cx file explorer传输实例
    • 在这里插入图片描述

FAQ

  • 被共享文件夹可以通过windows资源管理器地址栏中输入\\localhost查询
  • 该结果仅显示非父子目录的文件夹或文件,如果某两个目录有层次关系,那么仅显示父目录(祖先目录,而不显示子目录或后代目录)
  • 在这里插入图片描述

不同用户文件无法访问

  • 设某个用户cxxu家目录下的某个文件夹被设置为共享文件,那么这个文件夹无法被其他用户访问,哪怕在设置共享文件夹时允许任何人访问,也是无法访问的
  • 只有登录cxxu的身份,才能有效访问cxxu在本机的目录下的且被设置为共享文件夹的目录
  • 因此选择共享文件夹是,目的要明确,如果是只为自己服务,那么目录可以设置在自己的家目录下,其他用户用户无法通过smb协议访问到,只有自己能够访问,适合私密文件
  • 私密文件也可以放到非家目录位置,我们通过设置共享权限也可以阻止不想要的访问
  • 如果希望公开给其他人,那就应该在公共目录,比如非系统盘,或者系统盘的Public目录,否则不容易给其他用户共享
  • 其实说到这里,已经超出了纯粹的文件传输的目的,这些额外的权限问题提供了更加精细的控制,自己用的话随便都可以,登录自己的账户就可以愉快的传输文件了,也不用创建一个给大家用的账户,也不用考虑将某些目录其他用户访问不了的问题

比较和总结

  • ftp和smb协议的共同点

    • 一次性配置:几乎配置一次之后不需要再配置(ftp也不需要反复配置);哪怕重启计算机后,会自动建立服务除非手动停止或移除相关服务

      • 这里建议当不需要的时候停止服务,服务会占用一定资源;
      • 或者经常用的话推荐采用用户登录的方式,而不采用匿名登录,更加安全,毕竟服务一直挂在那里,不太放心)
    • 跨平台

  • 通常我会推荐SMB协议

    • 因为它配置上比ftp更简单,特别是一个人自己用的时候,配置起来更加简单,用已有的windows账户就可以登录(比如本地账户的pin作为登录密码)
    • 更安全

传输速率问题

  • 至于传输速度上,根据不同设备和环境情况,不一定说哪个更快

    • 有些环境FTP快,有些环境smb快
    • 但如果中间设备性能差,例如某些家用无线路由器比较差,则传输速度很慢,还不如手机开热点建立简单局域网进行传输(这不会消耗流量,放心传输)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1367986.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VS2022 | 调整适配虚幻5的设置

VS2022 | 调整适配虚幻5的设置

小米4A千兆版路由器刷入OpenWRT教程结合内网穿透远程访问

文章目录 前言1. 安装Python和需要的库2. 使用 OpenWRTInvasion 破解路由器3. 备份当前分区并刷入新的Breed4. 安装cpolar内网穿透4.1 注册账号4.2 下载cpolar客户端4.3 登录cpolar web ui管理界面4.4 创建公网地址 5. 固定公网地址访问 前言 OpenWRT是一个高度模块化、高度自…

数组中元素的插入和查找算法探究

数组的查找 线性查找 概念 线性查找也叫顺序查找,这是最基本的一种查找方法,从给定的值中进行搜索,从一端开始逐一检查每个元素,直到找到所需元素的过程。 元素序列的排列可以有序,也可以无序。 代码实现 public cl…

vulhub中的Apache HTTPD 换行解析漏洞(CVE-2017-15715)详解

Apache HTTPD 换行解析漏洞(CVE-2017-15715) 1.cd到CVE-2017-15715 cd vulhub/httpd/CVE-2017-15715 2.运行docker-compose build docker-compose build 3.运行docker-compose up -d 4.查看docker-compose ps 5.访问 出现这个表示安装成功 6.漏洞复现…

16-20.Python语言进阶

Python语言进阶 重要知识点 生成式(推导式)的用法 prices {AAPL: 191.88,GOOG: 1186.96,IBM: 149.24,ORCL: 48.44,ACN: 166.89,FB: 208.09,SYMC: 21.29 } # 用股票价格大于100元的股票构造一个新的字典 prices2 {key: value for key, value in prices…

Github 2024-01-09Python开源项目日报 Top10

根据Github Trendings的统计,今日(2024-01-09统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目10Jupyter Notebook项目1 Payloads All The Things - 有用的Web应用程序安全负载和绕过列表 创建…

Unity 编辑器篇|(二)GenericMenu自定义弹出式菜单

目录 1. 前言2. Scene视图添加自定义菜单3. Hierarchy视图添加自定义菜单4. Project视图添加自定义菜单5. Game视图添加自定义菜单 1. 前言 GenericMenu 是 Unity 中的一个强大的类,用于创建和管理自定义上下文菜单(也称为弹出菜单)。可以使…

Django配置日志系统的最佳实践

概要 日志是跟踪应用行为、监控错误、性能分析和安全审计的重要工具。在Django框架中,合理配置日志系统可以帮助开发者有效管理项目运行过程中的关键信息。本文将详细介绍Django日志系统的最佳实践。 日志系统概述 Django使用Python的 logging 模块来实现日志系统…

苹果快捷指令在哪?详细使用教程送给大家!

快捷指令是苹果公司推出的一个实用功能,然而,可能还有很多新手用户不知道苹果快捷指令在哪。其实,快捷指令中心是iOS系统自带的应用,它一般就位于手机的主屏幕中。今天,小编将针对此问题来给大家分享一下有关苹果快捷指…

虚拟机Linux硬盘扩容

扩容前(20G): 扩容后(60G): 步骤: 1. 点击 虚拟机 -> 设置 -> 硬件 -> 硬盘(SCSI) -> 扩展(E)... -> 输入想要扩容大大小 -> 扩展(E) 2. 运行虚拟机,查看根目录属于那个文件系统,我的是 /dev/sda1…

前端八股文(网络篇)一

目录 1.Get和Post的请求的区别 2.常见的HTTP请求头和响应头 3.常见的HTTP请求方法 4.HTTP与HTTPS协议的区别 5.对keep-alive的理解 6.页面有多张图片,HTTP是怎样的加载表现? 7.HTTP请求报文是什么样的? 8.HTTP响应报文是什么样&#x…

【数据结构】数据结构中应用题大全(完结)

自己在学习过程中总结了DS中几乎所有的应用题,可以用于速通期末考/考研/各种考试。很多方法来源于B站大佬,底层原理本文不做过多介绍,建议自己研究。例题大部分选自紫皮严书。pdf版在主页资源 一、递归时间/空间分析 1.时间复杂度的分析 设…

与AI合作 -- 写一个modern c++单例工厂

目录 前言 提问 bard给出的答案 AI答案的问题 要求bard改进 人类智能 AI VS 人类 前言 通过本文读者可以学到modern C单例模式工厂模式的混合体,同时也能看到:如今AI发展到了怎样的智能程度?怎样让AI帮助我们快速完成实现头脑中的想法&…

如何下载和处理Sentinel-2数据

Sentinel-2是欧洲空间局(ESA)Copernicus计划中的一组地球观测卫星,主要用于提供高分辨率的光学遥感数据。Sentinel-2卫星组成了一个多光谱成像系统,可用于监测地球表面的陆地变化、植被覆盖、水域和自然灾害等。它具有以下特性&am…

2019年认证杯SPSSPRO杯数学建模A题(第一阶段)好风凭借力,送我上青云全过程文档及程序

2019年认证杯SPSSPRO杯数学建模 纸飞机在飞行状态下的运动模型 A题 好风凭借力,送我上青云 原题再现: 纸飞机有许多种折法。世界上有若干具有一定影响力的纸飞机比赛,通常的参赛规定是使用一张特定规格的纸,例如 A4 大小的纸张…

java 体育明星管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java Web 体育明星管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysq…

JQuery异步加载表格选择记录

JQuery异步加载表格选择记录 JQuery操作表格 首先在页面中定义一个表格对象 <table id"insts" class"table"><thead><tr><th>列1</th><th>列2</th><th>例3</th><th></th></tr>…

世微AP2400 DC-DC降压恒流IC12-80V 9V/3A LED电动摩托车灯驱动芯片方案

1&#xff0c;做一款三功能LED车灯驱动方案 AP2400 是一款 PWM 工作模式,率、外围简单、外驱功率管&#xff0c;适用于 输入的降压 LED 恒流驱动芯片。外驱 MOS&#xff0c;大输出电流可达 6A。AP2400 可实现三段功能切换&#xff0c;通过 MODE1/2/3 切换三种功能模式&#xff…

群辉安装gitea

群辉安装gitea 安装giteagitea容器配置 安装gitea gitea容器配置

​安全可靠测评结果公告(2023年第1号)

安全可靠测评主要面向计算机终端和服务器搭载的中央处理器&#xff08;CPU&#xff09;、操作系统以及数据库等基础软硬件产品&#xff0c;通过对产品及其研发单位的核心技术、安全保障、持续发展等方面开展评估&#xff0c;评定产品的安全性和可持续性&#xff0c;实现对产品研…