天天看點

linux 退出伺服器_Linux 上搭建 FTP 服務

參考網址:

雲伺服器 Linux 雲伺服器搭建 FTP 服務​cloud.tencent.com

linux 退出伺服器_Linux 上搭建 FTP 服務

操作場景

Vsftpd(very secure FTP daemon)是衆多 Linux 發行版中預設的 FTP 伺服器。本文以 CentOS 7.6 64位作業系統的騰訊雲伺服器(CVM)為例,使用 vsftpd 軟體搭建 Linux 雲伺服器的 FTP 服務。

示例軟體版本

本文搭建 FTP 服務組成版本如下:

  • Linux 作業系統:本文以公共鏡像 CentOS 7.6 為例。
  • Vsftpd:本文以 vsftpd 3.0.2 為例。

操作步驟

步驟1:登入linux伺服器

步驟2:安裝 vsftpd

  1. 執行以下指令,安裝 vsftpd。

    yum install -y vsftpd

  2. 執行以下指令,設定 vsftpd 開機自啟動。

    systemctl enable vsftpd

  3. 執行以下指令,啟動 FTP 服務。

    systemctl start vsftpd

  4. 執行以下指令,确認服務是否啟動。

    netstat -antup | grep ftp

    顯示結果如下,則說明 FTP 服務已成功啟動。

linux 退出伺服器_Linux 上搭建 FTP 服務

此時,vsftpd 已預設開啟匿名通路模式,無需通過使用者名和密碼即可登入 FTP 伺服器。使用此方式登入 FTP 伺服器的使用者沒有權修改或上傳檔案的權限。

步驟3:配置 vsftpd

  1. 執行以下指令,為 FTP 服務建立使用者,本文以 ftpuser 為例。

    useradd ftpuser

  2. 執行以下指令,設定 ftpuser 使用者的密碼。

    passwd ftpuser

    輸入密碼後請按

    Enter 确認設定,密碼預設不顯示,本文以

    tf7295TFY

    為例。
  3. 執行以下指令,建立 FTP 服務使用的檔案目錄,本文以

    /var/ftp/test

    為例。

    mkdir /var/ftp/test

  4. 執行以下指令,修改目錄權限。

    chown -R ftpuser:ftpuser /var/ftp/test

  5. 執行以下指令,打開

    vsftpd.conf

    檔案。

    vim /etc/vsftpd/vsftpd.conf

  6. i 切換至編輯模式,根據實際需求選擇 FTP 模式,修改配置檔案

    vsftpd.conf

    :注意:

    FTP 可通過主動模式和被動模式與用戶端機器進行連接配接并傳輸資料。由于大多數用戶端機器的防火牆設定及無法擷取真實 IP 等原因,建議您選擇

    被動模式 搭建 FTP 服務。如下修改以設定被動模式為例,您如需選擇主動模式,請前往 設定 FTP 主動模式。
    1. 修改以下配置參數,設定匿名使用者和本地使用者的登入權限,設定指定例外使用者清單檔案的路徑,并開啟監聽 IPv4 sockets。

      anonymous_enable=NO local_enable=YES chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list listen=YES

    2. 在行首添加

      #

      ,注釋

      listen_ipv6=YES

      配置參數,關閉監聽 IPv6 sockets。

      #listen_ipv6=YES

    3. 添加以下配置參數,開啟被動模式,設定本地使用者登入後所在目錄,以及雲伺服器建立資料傳輸可使用的端口範圍值。

      local_root=/var/ftp/test allow_writeable_chroot=YES pasv_enable=YES pasv_address=xxx.xx.xxx.xx #請修改為您的 Linux 雲伺服器公網 IP pasv_min_port=40000 pasv_max_port=45000

  1. Esc 後輸入 :wq 儲存後退出。
  2. 執行以下指令,建立并編輯

    chroot_list

    檔案。

    vim /etc/vsftpd/chroot_list

  3. i 進入編輯模式,輸入使用者名,一個使用者名占據一行,設定完成後按 Esc 并輸入 :wq

    儲存後退出。

    您若沒有設定例外使用者的需求,可跳過此步驟,輸入

    :wq 退出檔案。
  4. 執行以下指令,重新開機 FTP 服務。

    systemctl restart vsftpd

步驟4:設定安全組

搭建好 FTP 服務後,您需要根據實際使用的 FTP 模式給 Linux 雲伺服器放通

入站規則

,詳情請參見 添加安全組規則。

大多數用戶端機器在區域網路中,IP 位址是經過轉換的。如果您選擇了 FTP 主動模式,請確定用戶端機器已擷取真實的 IP 位址,否則可能會導緻用戶端無法登入 FTP 伺服器。

  • 主動模式:放通端口21。
  • 被動模式:放通端口21,及 修改配置檔案 中設定的

    pasv_min_port

    pasv_max_port

    之間的所有端口,本文放通端口為40000 - 45000。

步驟5:驗證 FTP 服務

您可通過 FTP 用戶端軟體、浏覽器或檔案資料總管等工具驗證 FTP 服務,本文以用戶端的檔案資料總管為例。

  1. 打開用戶端的 IE 浏覽器,選擇【工具】>【Internet 選項】>【進階】,根據您選擇的 FTP 模式進行修改:
  • 主動模式:取消勾選【使用被動 FTP】。
  • 被動模式:勾選【使用被動 FTP】。
  1. 打開用戶端的計算機,在路徑欄中通路以下位址。如下圖所示:

    ftp://雲伺服器公網IP:21

linux 退出伺服器_Linux 上搭建 FTP 服務
  1. 在彈出的“登入身份”視窗中輸入 配置 vsftpd 中已設定的使用者名及密碼。

    本文使用的使用者名為

    ftpuser

    ,密碼為

    tf7295TFY

  2. 成功登入後,即可上傳及下載下傳檔案。

附錄

設定 FTP 主動模式

主動模式需修改的配置如下,其餘配置保持預設設定:

anonymous_enable=NO #禁止匿名使用者登入 local_enable=YES #支援本地使用者登入 chroot_local_user=YES #全部使用者被限制在主目錄 chroot_list_enable=YES #啟用例外使用者名單 chroot_list_file=/etc/vsftpd/chroot_list #指定使用者清單檔案,該清單中的使用者不被鎖定在主目錄 listen=YES #監聽IPv4 sockets #在行首添加#注釋掉以下參數 #listen_ipv6=YES #關閉監聽IPv6 sockets #添加下列參數 allow_writeable_chroot=YES local_root=/var/ftp/test #設定本地使用者登入後所在的目錄

Esc

後輸入

:wq

儲存後退出,并前往 步驟8 完成 vsftpd 配置。

FTP 用戶端上傳檔案失敗

問題描述

Linux 系統環境下,通過 vsftp 上傳檔案時,提示如下報錯資訊。

553 Could not create file

解決方法

  1. 執行以下指令,檢查伺服器磁盤空間的使用率。

    df -h

  • 如果磁盤空間不足,将會導緻檔案無法上傳,建議删除磁盤容量較大的檔案。
  • 如果磁盤空間正常,請執行下一步。
  1. 執行以下指令,檢查 FTP 目錄是否有寫的權限。

    ls -l /home/test # /home/test 為 FTP 目錄,請修改為您實際的 FTP 目錄。

  • 若傳回結果中沒有

    w

    ,則表示該使用者沒有寫的權限,請執行下一步。
  • 若傳回結果中已有

    w

    ,請 送出工單 進行回報。
  1. 執行以下指令,對 FTP 目錄加上寫的權限。

    chmod +w /home/test # /home/test 為 FTP 目錄,請修改為您實際的 FTP 目錄。

  2. 執行以下指令,重新檢查寫的權限是否設定成功。

    ls -l /home/test # /home/test 為 FTP 目錄,請修改為您實際的 FTP 目錄。

繼續閱讀