安裝並啟動 FTP 服務
任務時間:5min ~ 10min
安裝 VSFTPD
使用 yum
安裝 vsftpd:
yum install vsftpd -y
vsftpd
是在 Linux 上被廣泛使用的 FTP 服務器,根據其[官網介紹][https://security.appspot.com/vsftpd.html],它可能是 UNIX-like 系統下最安全和快速的 FTP 服務器軟件。
啟動 VSFTPD
安裝完成后,啟動 FTP 服務:
service vsftpd start
啟動后,可以看到系統已經[監聽了 21 端口]:
netstat -nltp | grep 21
此時,訪問 ftp://<您的 CVM IP 地址> 可瀏覽機器上的 /var/ftp 目錄了。
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 "undefined" | passwd ftpuser --stdin
為了方便后面的實驗步驟,不建議使用其它的用戶名
下面命令中的密碼為實驗室為您生成,為了方便后面的實驗步驟,不建議使用其他密碼
限制該用戶僅能通過 FTP 訪問
限制用戶 ftpuser
只能通過 FTP 訪問服務器,而不能直接登錄服務器:
usermod -s /sbin/nologin ftpuser
為用戶分配主目錄
為用戶 ftpuser
創建[主目錄]:
mkdir -p /data/ftp
設置訪問權限:
chmod 777 -R /data/ftp
設置為用戶的主目錄:
usermod -d /data/ftp ftpuser
創建登錄歡迎文件 [?]:
echo "Welcome to use FTP service." > /data/ftp/welcome.txt
用戶的主目錄是用戶通過 FTP 登錄后看到的根目錄
方便用戶登錄后可以看到歡迎信息,並且確定用戶確實登錄到了主目錄上。
訪問 FTP 服務
任務時間:5min ~ 10min
FTP 服務已安裝並配置完成,下面我們來使用該 FTP 服務
訪問 FTP 服務
根據您個人的工作環境,選擇一種方式來訪問已經搭建的 FTP 服務
通過 Windows 資源管理器訪問
Windows 用戶可以復制下面的連接到資源管理器的地址欄訪問:
ftp://ftpuser:undefined@<您的 CVM IP 地址>
通過 FTP 客戶端工具訪問
FTP 客戶端工具眾多,下面推薦兩個常用的:
- WinSCP - Windows 下的 FTP 和 SFTP 連接客戶端
- FileZilla - 跨平台的 FTP 客戶端,支持 Windows 和 Mac
下載和安裝 FTP 客戶端后,使用下面的憑據進行連接即可:
主機:
<您的 CVM IP 地址>
用戶:
ftpuser
密碼:
undefined
如果能夠正常連接,那么大功告成,您可以開始使用屬於您自己的 FTP 服務器了!
接下來,請上傳任意一張圖片到您的 FTP 服務器上,然后,就可以在 /data/ftp 中看到了。
完成實驗
恭喜!您已經成功完成了搭建 FTP 服務器的實驗任務。