Windows訪問Linux下的FTP伺服器(Centos和Uuntu)

来源:https://www.cnblogs.com/zhangjiale/archive/2023/09/08/17686946.html
-Advertisement-
Play Games

centos7.9版本 1.下載FTP離線安裝包: http://rpmfind.net/linux/rpm2html/search.php?query=vsftpd(x86-64) 選擇最後一個 vsftpd-3.0.2-28.el7.x86_64.rpm 2.檢查是否已經安裝了vsftp rpm ...


centos7.9版本

  1.下載FTP離線安裝包:

    http://rpmfind.net/linux/rpm2html/search.php?query=vsftpd(x86-64)    選擇最後一個 vsftpd-3.0.2-28.el7.x86_64.rpm

  2.檢查是否已經安裝了vsftp

    rpm -qa | grep vsftpd

    出現提示vsftpd版本號則表示已安裝,沒有則未安裝

  3.安裝vsftpd(推薦離線)   

    離線安裝 rpm -ivh vsftpd-3.0.2-22.el7.x86_64.rpm
    線上安裝 yum install -y vsftp

  4.安裝過程可能會報錯    

    [root@yjy-pt01 vsftpd]$ rpm -ivh vsftpd-3.0.2-22.el7.x86_64.rpm

    warning: vsftpd-3.0.2-22.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
    error: Failed dependencies:
    libc.so.6(GLIBC_2.14)(64bit) is needed by vsftpd-3.0.2-22.el7.x86_64
    libc.so.6(GLIBC_2.15)(64bit) is needed by vsftpd-3.0.2-22.el7.x86_64

  解決:安裝相關依賴

    rpm -ivh libcap-2.16-5.5.el6.x86_64.rpm 

    rpm -ivh libcap-devel-2.16-5.5.el6.x86_64.rpm

  若是執行上面命令依然提示 安裝依賴失敗 ,可執行如下命令強制執行

    rpm -ivh libcap-2.16-5.5.el6.x86_64.rpm  --nodeps --force

    rpm -ivh libcap-devel-2.16-5.5.el6.x86_64.rpm --nodeps --force

    上述依賴鏈接地址可根據不同系統版本下載相應依賴rpm包:https://centos.pkgs.org/7/centos-x86_64/

    例如下載libcap-2.16-5.5.el6.x86_64.rpm包 鏈接地址即是:https://centos.pkgs.org/7/centos-x86_64/libcap-2.16-5.5.el6.x86_64.rpm

  5.檢查是否安裝成功

    rpm -qa | grep vsftpd    出現版本號vsftpd-2.2.2-24.el6.x86_64 #,即表示安裝成功

  6.安裝好ftp之後,執行命令查看vsftpd服務是否在運行狀態

    systemctl status vsftpd.service   若是在運行 即可看到 actving

  7.創建用戶 

     1.# 創建ftp目標文件夾 mkdir /home/testFtp

     2.chmod 755 /home/testFtp

     3.# 創建用戶 useradd -d /home/testFtp -s /sbin/nologin -g ftp -G root testUser

     4.# 設置密碼 我設置的是 Test@123 passwd testUser   密碼可隨意設置

     5.# 更改用戶testUser 的主目錄為/home/testFtp 執行命令:usermod -d /home/testFtp testUser

     6.# 上述命令參數解釋如下 :  #useradd 添加用戶testUser

                  #-d 指定用戶根目錄為/home/testFtp

                  #-s 指定shell腳本為/sbin/nologin,表示不允許shell登錄

                  #-g 創建分組ftp

                  #-G 指定root分組

  8.配置vsftpd 

    1. 修改vsftpd配置文件 vi /etc/vsftpd/vsftpd.conf

    找到一下內容修改成和我一樣的:  

        anonymous_enable=NO
        local_root=/home/testFtp
        chroot_local_user=YES
        chroot_list_enable=YES
        # chroot_list文件中放的是限制目錄的用戶,防止裡面的用戶進入ftp目錄以外的目錄
        chroot_list_file=/etc/vsftpd/chroot_list
        pam_service_name=vsftpd
        userlist_enable=YES
        tcp_wrappers=YES
        #下麵自己加,上面的都有,仔細尋找和對比
        userlist_deny=NO
        allow_writeable_chroot=YES

    2.編輯chroot_list文件

      vi /etc/vsftpd/chroot_list#添加一行 就是你創建的用戶名 有多個的話一行一個

      # 我這裡寫是為了不限制 testUser只能訪問指定目錄,一般是要限制的也就是不需要寫進這個文件

      testUser

    3.編輯user_list文件

       vi /etc/vsftpd/user_list

       #添加一行 就是你創建的用戶名 有多個的話一行一個

        testUser

    4.修改另一個文件 (防止後面登陸出現 530 Login incorrect 錯誤)

      cd /etc/pam.d/

                  vi vsftpd

      # 把第四行 pam_shells.so 的改成下麵這個
      pam_nologin.so

    5啟停命令,每次修改vsftpd.conf都要重啟

      #啟動

      service vsftpd start 或 systemctl start vsftpd.service
      #停止
      service vsftpd stop 或 systemctl stop vsftpd.service
      #重啟
      service vsftpd restart 或 systemctl restart vsftpd.service

   9.Windows連接測試  

    1.   win + R 輸入cmd
    2.   輸入ftp
    3.   輸入open 192.168.209.129 (換成你的IP)
    4.   輸入用戶名testUser
    5.   輸入密碼Test@123
    6.   看到230 Login successful.即為成功,之後便可以使用ftp工具連接了。
    7.       出現530 Login incorrect錯誤時,需要先確定用戶名、密碼、主機地址和埠是否正確,如果都正確,再檢查本地是否開啟了21埠
    8.       檢查20 21埠伺服器是否開啟,查看開啟埠firewall-cmd --list-all 開啟20,21埠firewall-cmd --zone=public --add-port=20/tcp --permanent
    9.       firewall-cmd --zone=public --add-port=20/tcp --permanent 然後重啟防火牆 irewall-cmd  --reload
    10.      報錯:打開FTP伺服器上的文件夾時發生錯誤,請檢查是否有許可權訪問該文件夾
    11.     

    12. 設置IE瀏覽器 —— Internet選項 —— 高級 —— 將使用被動FTP(用於防火牆和DSL數據機的相容)選項去掉 —— 確定 

    13. 用IE及IE內核的瀏覽器(如360等)登錄Linnux空間FTP

      需要使用ftp://用戶名:密碼@ftp地址來訪問 例如:

      ftp://hqx:[email protected]

    14. 依照上面方法,windwos端依然無法登陸訪問ftp的話,參照下麵方式解決:

    15. 檢查ftp服務是否已開啟:控制面板 —— 程式 —— 啟用或關閉windows功能

    16. 找到Internet Information Services里的FTP伺服器,並勾選FTP服務FTP擴展性

    17.  

      找到TFTP客戶端,並勾選,點擊 “確定” 等待系統自動安裝程式完畢

    18. 控制面板 —— 系統和安全 —— 點擊Windows防火牆下的 “允許應用通過Windows防火牆”

    19. 在列表中確認 “Windows資源管理器” 右側的兩個勾選,如果沒有勾選則點擊上方的 “更改設置” 。

        

  補充知識

    /etc/vsftpd下的文件作用: 

    1. ftpusers:指定了哪些用戶賬戶不能訪問FTP伺服器,例如root等。 如果想要root 登錄 則註釋裡面的root
    2. user_list:可以作為用戶白名單,或者是黑名單,或者無效名單。完全由userlist_enable和userlist_deny這兩個參數決定。
      效果如下:

      #拒絕文件中的用戶FTP訪問
      userlist_enable=YES userlist_deny=YES
      # 拒絕除文件中的用戶外的用戶FTP訪問
      userlist_enable=YES userlist_deny=NO
      # 基本可以認為user_list文件無用
      userlist_enable=NO userlist_deny=YES/NO

 

Ubuntu 版本

  

一、 FTP

1.1 安裝ftp

    sudo apt-get install vsftpd

  1.2 配置FTP

    sudo gedit /etc/vsftpd.conf

    將下麵三個屬性的註釋取消,即設置不允許匿名登錄、允許本地用戶登錄、允許修改文件

      # Allow anonymous FTP? (Disabled by default).

      anonymous_enable=NO

      # Uncomment this to allow local users to log in.
      local_enable=YES
      #
      # Uncomment this to enable any form of FTP write command.
      write_enable=YES
  

    在文件末尾添加 

      allow_writeable_chroot=YES

     在文件末尾添加下麵屬性、鎖定一個共用目錄(根據自己情況設置)

    local_root=home/bit/shareFile  

    取消下麵三個屬性的註釋,在文件vsftpd.chroot_list中保存的是可訪問的用戶

    chroot_local_user=YES

    chroot_list_enable=YES
    # (default follows)
    chroot_list_file=/etc/vsftpd.chroot_list

    註意

    自己添加的兩行代碼一定沒有空格,如何添加了空格,本地瀏覽器就無法登陸
    一定不能有空格

  1.3添加可訪問用戶

    sudo vi /etc/vsftpd.chroot_list 

    寫入

    bit(用戶名,根據自己情況自行填寫)
    root

  1.4創建共用文件夾

    mkdir shareFile

    chmod -R 777 shareFile

  1.5重啟伺服器

      sudo service vsftpd restart

      #啟動、關閉的命令
      #啟動FTP伺服器
      #sudo service vsftpd start
      #關閉FTP伺服器
      #sudo service vsftpd stop
      #重啟FTP伺服器
      #sudo service vsftpd restart

   1.6windows 鏈接測試如上面 操作即可

 

    

  

本文來自博客園,作者:Java-三尺青鋒,轉載請註明原文鏈接:https://www.cnblogs.com/zhangjiale/p/17686946.html


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • ## 1. 什麼是Http2.0 HTTP/2.0,通常簡稱為HTTP/2,是一種用於傳輸超文本(例如網頁和資源文件)的網路協議。它是HTTP/1.1的繼任者,旨在提高性能和效率,以適應現代Web應用的需求。HTTP/2的主要特點包括以下幾點: 1. **多路復用(Multiplexing)**:H ...
  • 光看訪客這個名字,猜測這個訪客模式應該非常好理解,只要玩過Linux的人,都能深刻明白Root和非Root和訪客賬號登錄的巨大差別性。 # What is Visitor? 如果你沒玩過Linux,那麼假設公共的圖書館有一臺電腦,有兩個賬戶: - 其中一個是**管理員(Admin)**的賬戶,擁有這 ...
  • 作者:是奉壹呀 \ 來源:juejin.cn/post/7262274383287500860 看到一個評論,裡面提到了list.sort()和list.strem().sorted()排序的差異。 說到list sort()排序比stream().sorted()排序性能更好,但沒說到為什麼。 ! ...
  • Sermant是基於Java位元組碼增強技術的無代理服務網格,其利用Java位元組碼增強技術為宿主應用程式提供服務治理功能。 ...
  • 京東茅臺搶購腳本可以分為以下幾部分,具體實現步驟如下: 登錄京東賬號 首先需要登錄京東賬號。一個簡單的方式是使用Python的 selenium 庫。在使用 selenium 庫前,需要安裝 selenium 庫和對應的瀏覽器驅動。 示例代碼如下所示: from selenium import we ...
  • # It can explain what ? 如下是解釋器要解釋的主體: - 加減乘除等運算,3+4/9+6*8 - 摩爾斯電碼 - 正則表達式 - El表達式 - OGNL表達式 - 小明是北京人 - 小紅是一名售貨員 - 部門領導下發一則通知 - ... # How explain ? 解釋器 ...
  • # ![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/98edff345fb44c9ca30237fa7958f6f8~tplv-k3u1fbpfcp-jj-mark:0:0:0:0:q75.image#?w=1920&h=1080&s=72 ...
  • 大家好,我是 god23bin,在日常開發中,我們經常需要處理日期和時間,日期和時間可以說是一定會用到的,現在總結下 Java 中日期與時間的基本概念與一些常用的用法。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...