1. 程式人生 > 其它 >搭建 FTP 檔案服務

搭建 FTP 檔案服務

安裝並啟動 FTP 服務

任務時間:5min ~ 10min

安裝 VSFTPD

使用 apt-get 安裝 vsftpd

sudo apt-get install vsftpd -y

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

啟動 VSFTPD

安裝完成後 VSFTPD 會自動啟動,通過 netstat 命令可以看到系統已經[監聽了 21 埠]:

sudo netstat -nltp | grep 21

如果沒有啟動,可以手動開啟 VSFTPD 服務:

sudo systemctl start vsftpd.service

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

配置使用者訪問目錄

任務時間:5min ~ 10min

新建使用者主目錄

sudo mkdir /home/uftp

執行完後,在這裡 /home/uftp [?] 就能看到新建的資料夾 uftp 了。

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

sudo touch /home/uftp/welcome.txt

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

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

新建使用者 uftp 並設定密碼

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

sudo useradd -d /home/uftp -s /bin/bash uftp

為使用者 uftp 設定密碼 [?]:

sudo passwd uftp

刪除掉 pam.d 中 vsftpd,因為該配置檔案會導致使用使用者名稱登入 ftp 失敗:

sudo rm /etc/pam.d/vsftpd

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

請記住設定的密碼以用於後續步驟

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

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

sudo usermod -s /sbin/nologin uftp

修改 vsftpd 配置

sudo chmod a+w /etc/vsftpd.conf

修改 /etc/vsftpd.conf 檔案中的配置(直接將如下配置新增到配置檔案最下方):

# 限制使用者對主目錄以外目錄訪問
chroot_local_user=YES

# 指定一個 userlist 存放允許訪問 ftp 的使用者列表
userlist_deny=NO
userlist_enable=YES

# 記錄允許訪問 ftp 使用者列表
userlist_file=/etc/vsftpd.user_list

# 不配置可能導致莫名的530問題
seccomp_sandbox=NO

# 允許檔案上傳
write_enable=YES

# 使用utf8編碼
utf8_filesystem=YES

新建檔案 /etc/vsftpd.user_list,用於存放允許訪問 ftp 的使用者:

sudo touch /etc/vsftpd.user_list
sudo chmod a+w /etc/vsftpd.user_list

修改 /etc/vsftpd.user_list ,加入剛剛建立的使用者:

示例程式碼:/etc/vsftpd.user_list
uftp

設定訪問許可權

設定主目錄訪問許可權(只讀):

sudo chmod a-w /home/uftp

新建公共目錄,並設定許可權(讀寫):

sudo mkdir /home/uftp/public && sudo chmod 777 -R /home/uftp/public

重啟vsftpd 服務:

sudo systemctl restart vsftpd.service

準備域名和證書

任務時間:15min ~ 30min

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

域名註冊

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

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

域名解析

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

<您的 CVM IP 地址>

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

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

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

ping www.yourdomain.com

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

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

訪問 FTP 服務

任務時間:5min ~ 10min

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

訪問 FTP 服務

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

通過 FTP 客戶端工具訪問

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

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

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

[主機]:

<您的 CVM IP 地址>

使用者:

uftp

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

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

通過 Windows 資源管理器訪問

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

ftp://uftp:你的密碼@<您的 CVM IP 地址>

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

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

大功告成

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