[计算机提升] 创建FTP共享
4.7 创建FTP共享
4.7.1 FTP介绍
在Windows系统中,FTP共享是一种用于在网络上进行文件传输的标准协议。它可以让用户通过FTP客户端程序访问并下载或上传文件,实现文件共享。
FTP共享的用途非常广泛,例如可以让多个用户共享文件、进行文件备份、进行软件安装等。通过FTP共享,用户可以轻松地访问和共享各种文件,而无需直接登录到远程计算机。
在Windows系统中,可以使用各种FTP服务器软件来实现FTP共享,例如IIS(Internet Information Services)和Serv-U等。这些软件可以设置多个FTP服务器、限定登录用户的权限、登录主目录及空间大小等,功能非常完备。
使用FTP共享,可以带来许多好处,例如提高文件的共享性和可靠性,方便高效地传输数据,减少网络拥堵等。此外,FTP还支持多种传输模式,包括主动模式和被动模式,可以满足不同的网络环境和用户需求。
4.7.2 创建FTP共享
1、安装FTP服务
1.1、打开控制面板中的程序和功能,点击启用或关闭Windows功能:

1.2、在弹出的Windows功能窗口中,展开Internet Information Services,并勾选FTP服务和IIS 管理控制台,点击确认。如下图所示:

2、创建FTP共享
2.1、打开控制面板,Win11系统打开Windows工具,如果是Win10系统则打开管理工具,然后再打开Internet Information Services (IIS)管理器。
2.2、在打开的Internet Information Services (IIS)管理器中,展开网站,在Default Web Site上右键鼠标,在弹出的菜单中,点击添加FTP发布…
2.3、在打开的Internet Information Services (IIS)管理器中,在网站上右键鼠标,在弹出的菜单中,点击添加FTP站点…

2.4、在弹出的添加FTP站点窗口中,填写FTP站点名称,内容目录中物理路径处点击右边的…,在弹出的浏览文件夹窗口中选择要共享的文件夹。然后点击下一步。

2.5、此时会弹出添加FTP站点对话框,在IP地址处填写本机的IP地址,端口我们使用默认端口21即可。下面的SSL处勾选无SSL。点击下一步。

2.6、由于是测试,在这里,我们在身份验证处勾选匿名和基本,匿名允许访问处选择所有用户。权限处选择读取和写入。点击完成。

2.7、FTP共享文件夹创建完成,我们回到IIS管理器中,可以看到在网站下方多了一个名为share的FTP共享文件夹。

3、访问FTP共享
3.1、在本机或者其他处于同一内网电脑上,打开资源管理器,在资源管理中输入:ftp:\\192.168.100.202,此时就能进入到该共享文件夹中,可以看到该共享文件中的所有内容,也可以对其中的内容进行读取和写入。

4.7.3 FTP的登录
如果FTP允许匿名登录,那么第一次打开FTP共享时,默认是通过匿名登录,无需输入用户名和密码。
如果不允许匿名登录,则会弹出登录窗口,在登录窗口输入账号密码登录即可:

如果已经匿名登录,需要切换用户登录,则只需要点击右键菜单中的登录…即可弹出上面的登录身份对话框,然后输入用户名和密码登录即可。

4.7.4 提高FTP共享安全性
在上一节中,我们介绍的创建FTP共享的方式是为了演示,使用的是最简单的方式,任何同一内网下的电脑通过FTP地址都能直接访问,进去后还能直接进行读取和写入,这个是非常不安全的。
接下来,我们来创建一个比较复杂的共享情况,即:
1、可以匿名进去,但是匿名进去后只能修改共享文件夹这个主目录下的文件,而对于子文件夹无权修改。
2、u1用户能读取和写入f1文件夹,u2用户能读取和写入f2文件夹。但是u1、u2不能互相读取对方的文件夹。
3、share用户可以读取和写入整个FTP共享文件夹。
设置FTP授权
1、进入到IIS管理器中,点击并展开share,然后点击f1文件夹,双击右边的FTP授权规则,如下:

2、在弹出的FTP授权规则菜单中,默认已经有了一个允许所有用户读写的规则,这是因为我们在创建FTP规则中,选择了匿名登录自动生成的规则。为了让匿名用户无法进行修改,我们删除这条默认的规则。方法很简单,选中这条规则后,点击delete按键删除或者在鼠标右键菜单中点击删除即可。

3、为了让share用户和u1用户访问和修改,我们这里需要添加2条规则。在空白处,鼠标右键,选择添加允许规则,弹出添加允许授权规则对话框,规则的添加方式如下图(添加share用户读写权限):

4、u1用户的添加规则同上一步。

5、同理,在IIS管理器中,我们选择f2文件夹,然后也同样的删除默认的规则,添加share用户和u2用户的规则:

6、至此,我们就设置完了。接下来进行验证。
验证
1、可以匿名进去,但是匿名进去后只能修改共享文件夹这个主目录下的文件,而对于子文件夹无权修改。
我们直接通过FTP地址进入之后,默认就是匿名登录。进入后可以删除和创建文件:

匿名用户无法打开f1和f2文件夹,报错如下:

2、u1用户能读取和写入f1文件夹,u2用户能读取和写入f2文件夹。但是u1、u2不能互相读取对方的文件夹。
切换成u1用户登录,尝试打开f2文件夹时报错:

切换成u2用户登录,尝试打开f1文件夹时报错同上截图。
3、share用户可以读取和写入整个FTP共享文件夹。
切换成u1用户登录,可以同时打开f1和f2文件夹。
技巧:
1、在资源管理器中,可以将文件夹权限设置大一点,也就是将administrators用户组和users用户组添加FTP共享文件夹中,并赋予读写的权限。因为可以靠FTP里授权规则进行限制。
2、IIS管理器验证规则中可以开启匿名身份和基本身份验证,如果开启匿名身份验证,如果再在资源管理器的文件夹安全设置中添加了users用户组,并且FTP授权规则中添加了所有用户,那么就可以不通过登陆直接进入该文件夹。
相关文章:
[计算机提升] 创建FTP共享
4.7 创建FTP共享 4.7.1 FTP介绍 在Windows系统中,FTP共享是一种用于在网络上进行文件传输的标准协议。它可以让用户通过FTP客户端程序访问并下载或上传文件,实现文件共享。 FTP共享的用途非常广泛,例如可以让多个用户共享文件、进行文件备份…...
R语言将list转变为dataframe(常用)
在R语言使用中常常遇到list文件需要转变为dataframe格式文件处理。这是需要写循环来进行转换。IOBR查看其收录的相关基因集(自备)_iobr_deg-CSDN博客 示例文件 list文件: 循环转换为dataframe data <- signature_tme dat <- as.data.frame(t(sapply(data, …...
【JAVA】OPENGL+TIFF格式图片,不同阈值旋转效果
有些科学研究领域会用到一些TIFF格式图片,由于是多张图片相互渐变,看起来比较有意思: import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.logging.*;/*** 可以自已定义日志打印格式…...
Linux系统中使用ln命令创建软连接
大家应该和我一样,第一次听到软连接这个词时感觉好高级啊,但其实也就那么回事,你完全可以将他类比为Windows系统中的快捷方式。 链接只是一个指向,并不是物理移动,类似Windows系统的快捷方式 1.功能和语法 功能&…...
Spark---RDD(Key-Value类型转换算子)
文章目录 1.RDD Key-Value类型1.1 partitionBy1.2 reduceByKey1.3 groupByKeyreduceByKey和groupByKey的区别分区间和分区内 1.4 aggregateByKey获取相同key的value的平均值 1.5 foldByKey1.6 combineByKey1.7 sortByKey1.8 join1.9 leftOuterJoin1.10 cogroup 1.RDD Key-Value…...
后台代码New出来DataGridTextColumn 动态添加到DataGrain 设置 Margin属性
在 WPF 中给 DataGridTextColumn 设置 MarginProperty 可以通过自定义 DataGridTemplateColumn 来实现。以下是一个示例代码: <DataGrid><DataGrid.Columns><DataGridTemplateColumn><DataGridTemplateColumn.CellTemplate><DataTempla…...
MySQL面试题(下)
09)查询学过「张三」老师授课的同学的信息 SELECTs.*,c.cname,t.tnameFROMt_mysql_teacher t,t_mysql_student s,t_mysql_course c,t_mysql_score scWHEREt.tidc.tid and c.cidsc.cid and sc.sids.sid and tname 张三 10)查询没有学全所有课程的同学的…...
【Linux】如何检查Linux用户是否具有sudo权限
问题背景或前提知识 在Linux系统中,sudo(superuser do)是一个重要的命令,它允许普通用户以系统管理员的身份执行命令。了解用户是否拥有sudo权限对于系统管理和安全性来说是非常重要的。 技术名词解释 sudo:一种程序…...
2024.1.13 Kafka六大机制和Structured Streaming
目录 一 . Kafka中生产者数据分发策略 二. Kafka消费者的负载均衡机制 三 . 数据不丢失机制 生产者端是如何保证数据不丢失的呢? Broker端如何保证数据不丢失 消费端如何保证数据不丢失 Kafka中消费者如何对数据仅且只消费一次 四 . 启动Kafka eagle命令 数…...
遥感影像-语义分割数据集:Landsat8云数据集详细介绍及训练样本处理流程
原始数据集详情 简介:该云数据集包括RGB三通道的高分辨率图像,在全球不同区域的分辨率15米。这些图像采集自Lansat8的五种主要土地覆盖类型,即水、植被、湿地、城市、冰雪和贫瘠土地。 KeyValue卫星类型landsat8覆盖区域未知场景水、植被、…...
YOLOV8在coco128上的训练
coco128是coco数据集的子集只有128张图片 训练代码main.py from ultralytics import YOLO# Load a model model YOLO("yolov8n.yaml") # build a new model from scratch model YOLO("yolov8n.pt") # load a pretrained model (recommended for trai…...
设计模式——享元模式
享元模式(Flyweight Pattern)是一种结构型设计模式,它的主要目的是通过共享已存在的对象来大幅度减少需要创建的对象数量,从而降低系统内存消耗和提高性能。它通过将对象的状态划分为内部状态(Intrinsic State…...
【Python机器学习】分类器的不确定估计——决策函数
scikit-learn接口的分类器能够给出预测的不确定度估计,一般来说,分类器会预测一个测试点属于哪个类别,还包括它对这个预测的置信程度。 scikit-learn中有两个函数可以用于获取分类器的不确定度估计:decidion_function和predict_pr…...
云原生周刊:K8sGPT 加入 CNCF | 2024.1.8
开源项目推荐 VolSync VolSync 使用 rsync 或 rclone 在集群之间异步复制 Kubernetes 持久卷。它还支持通过 Restic 创建持久卷的备份。 KubeClarity KubeClarity 是一种用于检测和管理软件物料清单 (SBOM) 以及容器映像和文件系统漏洞的工具。它扫描运行时 K8s 集群和 CI/…...
LightGBM原理和调参
背景知识 LightGBM(Light Gradient Boosting Machine)是一个实现GBDT算法的框架,具有支持高效率的并行训练、更快的训练速度、更低的内存消耗、更好的准确率、支持分布式可以处理海量数据等优点。 普通的GBDT算法不支持用mini-batch的方式训练,在每一次…...
ROS无人机开发常见错误
飞控部分 一、解锁时飞控不闪红灯,无任何反应,地面站也无报错 解决办法: 打开地面站的遥控器一栏 首先检查右下角Channel Monitor是否有识别出遥控各通道的值,如果没有,检查遥控器是否打开,遥控器和接收…...
Baumer工业相机堡盟工业相机如何联合NEOAPI SDK和OpenCV实现相机图像转换为AVI视频格式(C#)
Baumer工业相机堡盟工业相机如何联合NEOAPI SDK和OpenCV实现相机图像转换为视频格式(C#) Baumer工业相机Baumer工业相机的图像转换为OpenCV的图像的技术背景在NEOAPI SDK里实现相机图像转换为视频格式 工业相机通过OpenCV实现相机图像转换为视频格式的优…...
第一次面试总结 - 迈瑞医疗 - 软件测试
🧸欢迎来到dream_ready的博客,📜相信您对专栏 “本人真实面经” 很感兴趣o (ˉ▽ˉ;) 专栏 —— 本人真实面经,更多真实面试经验,中大厂面试总结等您挖掘 注:此次面经全靠小嘴八八,没…...
利用Qt输出XML文件
使用Qt输出xml文件 void PixelConversionLibrary::generateXML() {QFile file("D:/TEST.xml");//创建xml文件if (!file.open(QIODevice::WriteOnly | QIODevice::Text))//以只写方式,文本模式打开文件{qDebug() << "generateXML:Failed to op…...
OpenWrt智能路由器Wan PPPoE拨号配置方法
OpenWrt智能路由器的wan PPPoE拨号配置方法和我们常见的不太一样, 需要先找到wan网卡,然后将协议切换为 PPPoE然后才能看到输入上网账号和密码的地方. 首先登录路由器 http://openwrt.lan/ 然后找到 Network --> Interfaces 这里会显示你当前的路由器的所有接口, 选择 …...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
C++ 基础特性深度解析
目录 引言 一、命名空间(namespace) C 中的命名空间 与 C 语言的对比 二、缺省参数 C 中的缺省参数 与 C 语言的对比 三、引用(reference) C 中的引用 与 C 语言的对比 四、inline(内联函数…...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)
macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 🍺 最新版brew安装慢到怀疑人生?别怕,教你轻松起飞! 最近Homebrew更新至最新版,每次执行 brew 命令时都会自动从官方地址 https://formulae.…...
tauri项目,如何在rust端读取电脑环境变量
如果想在前端通过调用来获取环境变量的值,可以通过标准的依赖: std::env::var(name).ok() 想在前端通过调用来获取,可以写一个command函数: #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...
