基於Ubuntu搭建FTP檔案服務
安裝並啟動 FTP 服務
安裝 VSFTPD
使用 apt-get 安裝 [vsftpd]:
sudo apt-get install vsftpd -y
vsftpd 是在 Linux 上被廣泛使用的 FTP 伺服器,根據其官網介紹,它可能是 UNIX-like 系統下最安全和快速的 FTP 伺服器軟體。
啟動 VSFTPD
安裝完成後 VSFTPD 會自動啟動,通過 netstat 命令可以看到系統已經[監聽了 21 埠]:
sudo netstat -nltp | grep 21
如果沒有啟動,可以手動開啟 VSFTPD 服務:
sudo systemctl start vsftpd.service
FTP 協議預設使用 21 埠作為服務埠
配置使用者訪問目錄
新建使用者主目錄
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
準備域名和證書
注:如果您不需要通過域名訪問 FTP 伺服器則可以直接點選“已完成,下一步”跳過域名和證書的準備環節
域名註冊
如果您還沒有域名,可以在騰訊雲上選購,過程可以參考下面的視訊。
域名解析
域名購買完成後, 需要將域名解析到實驗雲主機上,實驗雲主機的 IP 為:
<您的 CVM IP 地址>
在騰訊雲購買的域名,可以到控制檯新增解析記錄,過程可參考下面的視訊:
域名設定解析後需要過一段時間才會生效,通過 ping 命令檢查域名是否生效 [?],如:
ping www.yourdomain.com
如果 ping 命令返回的資訊中含有你設定的解析的 IP 地址,說明解析成功。
注意替換下面命令中的 www.yourmpdomain.com 為您自己的註冊的域名
訪問 FTP 服務
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 服務