1. 程式人生 > >基於 CentOS 搭建 FTP 檔案服務

基於 CentOS 搭建 FTP 檔案服務

安裝並啟動 FTP 服務

任務時間:5min ~ 10min

安裝 VSFTPD

使用 yum 安裝 [vsftpd]:

yum install vsftpd -y

vsftpd 是在 Linux 上被廣泛使用的 FTP 伺服器,根據其官網介紹,它可能是 UNIX-like 系統下最安全和快速的 FTP 伺服器軟體。

啟動 VSFTPD

安裝完成後,啟動 FTP 服務:

service vsftpd start

啟動後,可以看到系統已經[監聽了 21 埠]:

netstat -nltp | grep 21

FTP 協議預設使用 21 埠作為服務埠

配置 FTP 許可權

任務時間:5min ~ 10min

目前 FTP 服務登陸允許匿名登陸,也無法區分使用者訪問,我們需要配置 FTP 訪問許可權

瞭解 VSFTP 配置

vsftpd 的配置目錄為 /etc/vsftpd,包含下列的配置檔案:

  • vsftpd.conf 為主要配置檔案
  • ftpusers 配置禁止訪問 FTP 伺服器的使用者列表
  • user_list 配置使用者訪問控制

閱讀上述配置以瞭解更多資訊。如果您準備好了,點選下一步開始修改配置來設定許可權。

阻止匿名訪問和切換根目錄

匿名訪問和切換根目錄都會給伺服器帶來[安全風險],我們把這兩個功能關閉。

編輯 /etc/vsftpd/vsftpd.conf

,[找到下面兩處配置]並修改:

# 禁用匿名使用者
anonymous_enable=NO

# 禁止切換根目錄
chroot_local_user=YES

編輯完成後,按 Ctrl + S 儲存配置,重新啟動 FTP 服務,如:

service vsftpd restart

匿名訪問讓所有人都可以上傳檔案到伺服器上而無需鑑權,而允許切換根目錄則可能產生越權訪問問題。

在程式碼編輯器中,用 Ctrl + F 進行搜尋,Mac 使用者用 Cmd + F 進行搜尋

建立 FTP 使用者

建立一個使用者 ftpuser [?]:

useradd ftpuser

為使用者 ftpuser

 設定密碼 [?]:

echo "Password" | passwd ftpuser --stdin

為了方便後面的實驗步驟,不建議使用其它的使用者名稱

下面命令中的密碼為實驗室為您生成,為了方便後面的實驗步驟,不建議使用其他密碼

限制該使用者僅能通過 FTP 訪問

限制使用者 ftpuser 只能通過 FTP 訪問伺服器,而不能直接登入伺服器:

usermod -s /sbin/nologin ftpuser

為使用者分配主目錄

為使用者 ftpuser 建立[主目錄]並約定:

/data/ftp 為主目錄, 該目錄不可上傳檔案

/data/ftp/pub 檔案只能上傳到該目錄下

mkdir -p /data/ftp/pub

建立登入歡迎檔案 [?]:

echo "Welcome to use FTP service." > /data/ftp/welcome.txt

設定訪問許可權:

chmod a-w /data/ftp && chmod 777 -R /data/ftp/pub

設定為使用者的主目錄:

usermod -d /data/ftp ftpuser

使用者的主目錄是使用者通過 FTP 登入後看到的根目錄

方便使用者登入後可以看到歡迎資訊,並且確定使用者確實登入到了主目錄上。

準備域名和證書

任務時間:15min ~ 30min

注:如果您不需要通過域名訪問 FTP 伺服器則可以直接點選“已完成,下一步”跳過域名和證書的準備環節

域名註冊

如果您還沒有域名,可以在騰訊雲上選購,過程可以參考下面的視訊。

  • 視訊 - 在騰訊雲上購買域名

域名解析

域名購買完成後, 需要將域名解析到實驗雲主機上,實驗雲主機的 IP 為:

<您的 CVM IP 地址>

在騰訊雲購買的域名,可以到控制檯新增解析記錄,過程可參考下面的視訊:

  • 視訊 - 如何在騰訊雲上解析域名

域名設定解析後需要過一段時間才會生效,通過 ping 命令檢查域名是否生效 [?],如:

ping www.yourdomain.com

如果 ping 命令返回的資訊中含有你設定的解析的 IP 地址,說明解析成功。

注意替換下面命令中的 www.yourmpdomain.com 為您自己的註冊的域名

訪問 FTP 服務

任務時間:5min ~ 10min

FTP 服務已安裝並配置完成,下面我們來使用該 FTP 服務

訪問 FTP 服務

根據您個人的工作環境,選擇一種方式來訪問已經搭建的 FTP 服務

通過 Windows 資源管理器訪問

Windows 使用者可以複製下面的[連結]到資源管理器的位址列訪問:

ftp://ftpuser:[email protected]<您的 CVM IP 地址>

通過 FTP 客戶端工具訪問

FTP 客戶端工具眾多,下面推薦兩個常用的:

  • WinSCP - Windows 下的 FTP 和 SFTP 連線客戶端
  • FileZilla - 跨平臺的 FTP 客戶端,支援 Windows 和 Mac

下載和安裝 FTP 客戶端後,使用下面的憑據進行連線即可:

[主機]:

<您的 CVM IP 地址>

使用者:

ftpuser

密碼:

Password

如果能夠正常連線,那麼大功告成,您可以開始使用屬於您自己的 FTP 伺服器了!

接下來,請上傳任意一張圖片到您的 FTP 伺服器上的pub目錄下,然後,就可以在 /data/ftp/pub 中看到了。

注意: 請不要直接上傳檔案到根目錄下,您應該選擇上傳到 pub 目錄下

如果您申請了域名,可以將連結中的 Ip 地址替換為對應的域名訪問 FTP 服務

如果您申請了域名,可以將Ip 地址替換為對應的域名作為訪問憑據

大功告成

恭喜!您已經成功完成了搭建 FTP 伺服器的實驗任務。