騰訊雲-搭建 FTP 文件服務
搭建 FTP 文件服務
目的:搭建認證登錄的FTP具有讀寫權限
安裝並啟動 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
啟動後,可以看到系統已經
netstat -nltp | grep 21
此時,訪問 ftp://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 #直接鎖定到用戶家目錄 local_root 自定義FTP_root 目錄
編輯完成後,按 Ctrl + S
保存配置,重新啟動 FTP 服務,如:
service vsftpd restart
匿名訪問讓所有人都可以上傳文件到服務器上而無需鑒權,而允許切換根目錄則可能產生越權訪問問題。
在代碼編輯器中,用
Ctrl + F
進行搜索,Mac 用戶用Cmd + F
進行搜索
創建 FTP 用戶
創建一個用戶 ftpuser
useradd ftpuser # useradd -s /sbin/nologin -d /data/ftp/pub 一次性指定
為用戶 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 登錄後看到的根目錄
方便用戶登錄後可以看到歡迎信息,並且確定用戶確實登錄到了主目錄
訪問 FTP 服務
任務時間:5min ~ 10min
FTP 服務已安裝並配置完成,下面我們來使用該 FTP 服務
訪問 FTP 服務
根據您個人的工作環境,選擇一種方式來訪問已經搭建的 FTP 服務
通過 Windows 資源管理器訪問
Windows 用戶可以復制下面的到資源管理器的地址欄訪問:
ftp://ftpuser:[email protected]
通過 FTP 客戶端工具訪問
FTP 客戶端工具眾多,下面推薦兩個常用的:
- WinSCP - Windows 下的 FTP 和 SFTP 連接客戶端
- FileZilla - 跨平臺的 FTP 客戶端,支持 Windows 和 Mac
如果能夠正常連接,那麽大功告成,您可以開始使用屬於您自己的 FTP 服務器了!
接下來,請上傳任意一張圖片到您的 FTP 服務器上的pub目錄下,然後,就可以在 /data/ftp/pub 中看到了。
註意: 請不要直接上傳文件到根目錄下
,您應該選擇上傳到 pub
目錄下
騰訊雲-搭建 FTP 文件服務