Windows功能之FTP服務器搭建

一、創作背景

??????? 之前有用linux系統搭建過ftp服務器,最近想著用windows系統也順便搭建一個,看網上有第三方服務軟件一鍵部署,記得windows可以不借助第三方軟件就可以搭建,就想順便操作試試,結果老是連接不上,費了點時間,在這里總結下操作的步驟,并記錄下搭建過程遇到的一些問題。

二、環境準備

虛擬機軟件:VMware? Workstation 16 Pro

操作系統:windows 7 企業版

三、操作步驟

(一)啟用IIS及FTP服務

??? ??? 1、開啟windows功能

?????????????? 打開控制面板->程序->啟用或關閉windows功能->勾選:

?????????????? 1) Internet信息服務->展開后勾選FTP服務器、FTP擴展性

?????????????? 2) Web管理工具->IIS管理控制臺

??????????????? 點擊確定等待安裝完成。

????????2、驗證IIS安裝

????????????????安裝完成后,在【開始】菜單->搜索"IIS"->打開Internet信息服務(IIS)管理器


(二)配置用戶賬戶與權限

????????1、創建專用FTP用戶

????????右鍵“計算機” ->管理?->本地用戶和組 ->用戶 ->右鍵新建用戶?-> 設置用戶名及密碼(建議勾選“密碼永不過期”)?

????????2、設置文件夾權限

????????右鍵共享文件夾 ->屬性?->安全 ->添加新建的用戶 ->勾選“讀取”和“寫入”權限?。


?(三)創建FTP站點

????????1、新建站點?

????????? 在IIS管理器中->右鍵“網站”->選擇“添加FTP站點”->輸入站點名稱(如MyFTP)->設置站點目錄的物理路徑。

????????2、配置綁定與SSL

????????1)IP地址:選擇本機IP或“全部未分配”(若需局域網訪問建議綁定具體IP)

????????2)端口:默認21(若端口沖突可改為2121等)

????????3)SSL:選擇“無SSL”或根據需求啟用加密?

????????3、設置身份驗證與權限

????????1)身份驗證:勾選“基本身份驗證”

????????2)授權:選擇“指定用戶”或“所有用戶” -> 設置讀取/寫入權限?。


(四)防火墻與網絡配置

????????1、開放防火墻端口

手工配置防火墻入站規則:

????????1)控制面板?-> 系統和安全 -> Windows防火墻?-> 高級設置?-> 右鍵入站規則?-> 新建規則 -> 允許TCP端口21(或自定義端口)?;

規則類型:端口

協議和端口:TCP、特定本地端口21

操作:允許連接

配置文件:專用、公用

名稱:允許TCP端口21

新添加的入站規則默認啟用

????????2)若使用被動模式,需額外開放TCP端口范圍1024-65535?。

使用FTP服務器自帶防火墻配置:

控制面板?-> 系統和安全 -> Windows防火墻 -> 允許程序或功能通過Windows防火墻 -> 更改設置 -> 勾選FTP服務器(家庭、公用)-> 確定

????????2、局域網/外網訪問測試

????????在宿主機上,打開CMD窗口,執行ftp IP地址 -> 輸入賬號密碼驗證連接


四、問題思考

1、當用宿主機文件資源管理器,目錄框內輸入ftp://IP地址,并且輸入賬號密碼連接,提示FTP文件夾錯誤,但是使用CMD窗口鍵入命令正常連接。

通過查看日志文件發現,這兩種連接方式有區別

通過CMD窗口輸入命令連接ftp服務器采用主動模式,而window資源管理器連接ftp服務器默認采用被動模式,而防火墻沒有配置或啟用被動模式的高位端口的入站規則,所以導致數據傳輸通道建立失敗。

擴展

ftp服務器的主動模式與被動模式

主動模式:

客戶端通過21端口連接服務器,發送PORT命令將自身ip與特定端口告知服務器,服務器主動通過20端口與客戶端特定端口建立數據通道進行數據傳輸。

被動模式:

客戶端向通過21端口連接服務器,發送PASV命令采用被動模式,服務器隨機返回高位端口(1024-65535?)進行監聽,客戶端主動與服務器高位端口建立數據通道進行數據傳輸。

2、手工配置防火墻時只需要添加入站規則,不需要添加出站規則的嘛?

防火墻入站規則嚴格控制,默認阻止所有入站流量,而出站規則寬松,默認允許所有出站流量,與允許通過入站流量相反,配置出站規則是為了阻止數據傳出,例如防止惡意軟件外傳數據、限制訪問某些不信任的危險網站等

3、ftp站點的文件夾目錄安全屬性不配置 ftp_user用戶權限會怎樣?配置的權限分別有什么作用?

默認情況下,通過計算機管理界面創建的新用戶,隸屬用戶組為Users,如果配置的ftp根目錄的安全屬性列表沒有配置的新用戶訪問對象,則按照Users用戶組的權限去執行(Users用戶組默認沒有寫入權限),但是如果安全屬性列表里訪問對象有Authenticated Users經過身份驗證的用戶組(默認有寫入權限),ftp服務器有配置身份驗證,經過身份驗證的用戶可以按照Authenticated Users用戶組的訪問控制權限去操作ftp根目錄文件內容。不同文件路徑下新建文件的安全屬性-可訪問對象用戶組可能不同:

配置ftp站點目錄可訪問對象(用戶和用戶組)的可操作權限,最常用的就是讀取、寫入權限,擁有讀取權限可查看ftp根目錄(站點目錄)的文件內容和下載文件,而擁有寫入權限則可以上傳文件。

五、總結

??????? FTP服務器搭建其實很簡單的,通過反復測試,其實是VMware虛擬機網絡配置的問題,我虛擬機采用的NAT模式,由于都是宿主機與虛擬機測試不涉及外網設備也不需要開啟端口轉發功能。之前一直卡在防火墻配置那塊,手動配置入站規則能正常連接訪問,自動配置的入站規則啟用后,老是連接不上,后面把VM虛擬網絡編輯器打開重置了下網絡配置,重啟虛擬機后又能正常訪問(⊙﹏⊙) 當所有配置都沒有問題的時候,然后一直出現連接ftp服務器超時的時候,大家可以考慮下重置一下虛擬機的網絡。還有就是站點權限編輯的問題,如果文件安全屬性有Authenticated Users,那新建的用戶可以不配讀取寫入權限,沒有這個用戶組的話,USERS組默認也有讀取權限,就是沒有寫入權限,上傳不了文件,對用戶及用戶組權限感興趣的可以去研究一下windows各類用戶組具體的作用及應用場景。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/72375.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/72375.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/72375.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

星型組網模塊的兩種交互方式優缺點解析

星型組網模塊簡介 星型組網模塊工作在433MHz頻段;星型組網模塊集主機(協調器)、終端為一體,星型組網模塊具有長距離、高速率兩種傳輸模式,一個主機(協調器)支持多達200個節點與其通訊&#xff0…

二分+前綴和——森林的最大美麗值

森林的最大美麗值(二分差分數組) 題目分析 求最小值的最大值,聯想到二分。 第一階段二段性分析 對于所有樹的高度都可以大于等于mid,那么我們可以確定高度小于mid的值一定也可以,但是此時我需要找的是最大的高度,那么mid一定比…

Pytorch實現之最小二乘梯度歸一化設計

簡介 簡介:LSGAN提出了一種利用最小二乘法來計算兩個數據分布之間的距離,該論文在此基礎上采用梯度歸一化來進一步穩定訓練。 論文題目:LSN-GAN: A Novel Least Square Gradient Normalization for Generative Adversarial Networks(LSN-GAN:一種新的生成對抗網絡的最小…

JavaScript基礎-全局作用域

在JavaScript編程中,理解變量的作用域是編寫高效、可維護代碼的關鍵之一。全局作用域是指變量在整個程序范圍內都可訪問的狀態,這意味著它們可以在任何函數或代碼塊中被讀取和修改。然而,過度使用全局變量也可能導致一些問題,如命…

【2025.3.13】記一次雙系統筆記本加裝固態硬盤記錄 linux擴容 linux更換/home和/opt所在硬盤 windows無法調整亮度

文章目錄 🌕事情經過🌕更換/home和/opt的掛載硬盤🌙目的🌙初始化1t固態硬盤🌙打開Linux查看硬盤信息🌙給新1t固態硬盤分區🌙格式化分區🌙把新1t固態硬盤先掛載到/mnt/ssd_1t 用于后續…

山東省新一代信息技術創新應用大賽-計算機網絡管理賽項(樣題)

目錄 競賽試題 網絡拓撲 配置需求 虛擬局域網 IPv4地址部署 OSPF及路由部署 配置合適的靜態路由組網 MSTP及VRRP鏈路聚合部署 IPSEC部署 路由選路部署 設備與網絡管理部署 1.R1 2.R2 3.S1 4.S2 5.S3 競賽試題 本競賽使用HCL(華三云實驗室)來進行網絡設備選擇…

【測試語言基礎篇】Python基礎之List列表

一、Python 列表(List) 序列是Python中最基本的數據結構。序列中的每個元素都分配一個數字 - 它的位置,或索引,第一個索引是0,第二個索引是1,依此類推。 Python有6個序列的內置類型,但最常見的是列表和元組。序列都可…

大數據面試之路 (二) hive小文件合并優化方法

大量小文件容易在文件存儲端造成瓶頸,影響處理效率。對此,您可以通過合并Map和Reduce的結果文件來處理。 一、合并小文件的常見場景 寫入時產生小文件:Reduce任務過多或數據量過小,導致每個任務輸出一個小文件。 動態分區插入&…

MySQL 批量插入 vs 逐條插

MySQL 插入數據:批量插入 vs 逐條插入,哪個更快? 在 MySQL 中,插入數據有兩種常見方式: 批量插入:一條 SQL 插入多條數據。逐條插入:每次插入一條數據。 這兩種方式有什么區別?哪…

Docker基礎命令說明

Docker基礎操作命令眾多,這些命令可以按如下方式進行分類: 鏡像操作容器操作網絡操作數據卷操作LOG查詢 等方面進行分類。 一、鏡像操作命令 docker images:用于列出本地系統中所有的 Docker 鏡像。鏡像就像是一個模板,它包含…

AI重構私域增長:從流量收割到終身價值運營的三階躍遷

私域運營的AI進化論:內容即服務的三個階段 隨著企業微信生態的成熟,私域運營正經歷從"流量收割"到"關系養成"的本質轉變。在AIGC技術的推動下,2024年私域場景正式進入**"內容即服務"**的價值共創期&#xff1…

Linux date 命令使用指南

date 命令用于 顯示或設置系統日期和時間&#xff0c;支持靈活的時間格式化和計算。以下是常用場景與詳細示例&#xff1a; 一、基本用法 1. 顯示當前日期和時間 <BASH> date # 輸出&#xff1a;Thu Jun 13 14:25:36 CST 20242. 設置系統時間&#xff08;需root權限&am…

Maven的依賴管理

maven相關依賴的官網&#xff1a;https://mvnrepository.com/ pom.xml是項目依賴的配置文件 maven首先會去本地倉庫下載相關依賴&#xff0c;如果沒有&#xff0c;則會去私服下載&#xff0c;再沒有&#xff0c;就去中央倉庫或鏡像下載。 自定義properties&#xff0c;可使用…

Mybaties批量操作

1、批量插入 <!--批量操作-插入--><!-- 相當于INSERT INTO t_goods (c1,c2,c3) VALUES (a1,a2,a3),(b1,b2,b3),(d1,d2,d3),...--><insert id"batchInsert" parameterType"java.util.List">INSERT INTO t_goods (title,sub_title,origina…

向量庫集成指南

文章目錄 向量庫集成指南Chroma集成Pinecone集成MiLvus集成向量庫集成指南 向量庫是一種索引和存儲向量嵌入以實現高效管理和快速檢索的數據庫。與單獨的向量索引不同,像Pinecone這樣的向量數據庫提供了額外的功能,例如,索引管理、數據管理、元數據存儲和過濾,以及水平擴展…

軟件測試之使用Requests庫進行接口測試

文章目錄 前言Requests庫是什么為什么要用Requests庫進行接口測試安裝Requests庫Requests庫使用發送GET請求發送帶查詢參數的GET請求響應內容格式添加請求頭信息發送一個POST請求查看響應內容斷言請求超時Cookie與Session模擬登錄 參考目錄 前言 閱讀本文前請注意最后編輯時間…

AttributeError: module ‘backend_interagg‘ has no attribute ‘FigureCanvas‘

AttributeError: module backend_interagg has no attribute FigureCanvas 這個錯誤通常是由于 Matplotlib 的后端配置問題引起的。具體來說&#xff0c;Matplotlib 在嘗試加載某個后端時&#xff0c;發現該后端模塊中缺少必要的屬性&#xff08;如 FigureCanvas&#xff09;&a…

iWebOffice2015 中間件如何在Chrome107及之后的高版本中加載

iWebOffice2015是江西金格科技有限公司開發的一款智能文檔中間件&#xff0c;和一些知名OA及ERP公司曾經達成OEM合作&#xff0c;所以用戶一度比較多&#xff0c;但不幸的是Chromium內核瀏覽器在2022年10月份發布的107版本中永久取消了對PPAPI插件的加載支持&#xff0c;導致使…

【MyBatis Plus JSON 處理器簡化數據庫操作】

文章目錄 什么是 MyBatis-Plus JSON 處理器&#xff1f;開始使用 MyBatis-Plus JSON 處理器步驟 1: 創建實體類步驟 2: 創建 Mapper 接口步驟 3: 查詢 JSON 數據步驟 4: 插入和更新 JSON 數據 什么是 MyBatis-Plus JSON 處理器&#xff1f; MyBatis-Plus 是一個基于 MyBatis 的…

OpnenHarmony 開源鴻蒙北向開發——1.開發環境搭建(DevEco Studio 5.03)

我這邊是基于window下對OpenHarmony開源鴻蒙進行北向開發。 一、安裝DevEco Studio 1、下載 下載中心 | 華為開發者聯盟-HarmonyOS開發者官網&#xff0c;共建鴻蒙生態 2、安裝 下載完成之后進行解壓 雙擊進行安裝 按照我的步驟進行 選擇安裝目錄&#xff0c;全部配置完成后…