- 基于ECS搭建FTP服務
- 1. 資源創建
- 2. 遠程連接ECS服務器
- 3. 安裝 vsftpd
- 4. 配置 vsftpd
- 4.1 匿名用戶模式
- 4.2 本地用戶模式
- 4.2.1 用戶 & 檔案目錄創建
- 4.2.2 vsftpd.conf 檔案配置【主動模式 or 被動模式】
- 4.2.2.1 主動模式
- 4.2.2.2 被動模式
- 4.2.3 例外用戶名單
- 4.2.4 測驗
基于ECS搭建FTP服務
1. 資源創建
-
這里直接使用阿里云提供的免費服務器,單擊【免費開通】

-
可以看到其為我們提供了用戶名 & 密碼 & IP地址,接下來只需要登錄遠程服務器即可
2. 遠程連接ECS服務器
- 這里我使用 Xshell軟體進行連接(Xshell 用起來還是很方便的,大家可以自行下載一下,或者使用別的軟體連接也可以)
- 登錄成功后如下:

3. 安裝 vsftpd
vsftpd(very secure FTP daemon):FTP服務器
- 匿名訪問:任何用戶都可以訪問搭建的FTP服務
- 本地用戶模式:只支持添加的本地用戶訪問搭建的FTP服務
-
安裝命令
yun install -y vsftpd-y 表示安裝程序中提示選擇全部為 “yes”
- 顯示如下則安裝成功

- 顯示如下則安裝成功
-
設定FTP服務開機自啟動
- 命令:
systemctl enable vsftpd.service - 顯示如下則設定成功:

- 命令:
-
啟動FTP服務
- 命令:
systemctl start vsftpd.service - 什么都沒顯示就是成功

- 命令:
-
查看FTP服務監聽的埠
- 命令:
netstat -antup | grep ftp - 可以看到,FTP服務已啟動,監聽的埠號為21

- 命令:
此時,vsftpd默認已開啟匿名訪問功能,無需輸入用戶名和密碼即可登錄FTP服務器,但沒有修改或上傳檔案的權限
4. 配置 vsftpd
- 上面已經介紹了vsftpd服務有
匿名用戶模式和本地用戶模式兩種訪問方式,下面我們一起來了解一下這兩種方式的配置方式
4.1 匿名用戶模式
-
修改組態檔
vsftpd.conf-
命令:
vim /etc/vsftpd/vsftpd.confvim大家應該都很熟悉了,不會的同學可以到網上找一下教程學習一下基本操作
-
我們先找到
anon_upload_enable=YES(匿名上傳權限) 這一行,按 i 進行并編輯,取消其注釋,然后按 ESC 鍵退出編輯模式,輸入:wq保存并退出

-
-
更改 /var/ftp/pub 目錄的權限,為FTP用戶添加寫權限
- 命令:
chmod o+w /var/ftp/pub/ - 運行后如下

- 命令:
-
重啟FTP服務
- 命令:
systemctl restrat vsftpd.service

- 命令:
-
配置后以后我們通過瀏覽器訪問一下,打開瀏覽器,輸入網址
ftp://<FTP服務器公網IP地址>:FTP埠,例如我訪問的地址為ftp://139.196.209.227:21,可以看到,我們無需輸入用戶名和密碼即可訪問,訪問結果如下:

4.2 本地用戶模式
4.2.1 用戶 & 檔案目錄創建
-
為FTP服務創建一個Linux用戶
- 命令:
adduser ftptest

- 命令:
-
為剛才創建的用戶設定密碼
-
命令:
passwd ftptest -
在輸密碼的時候出于安全保護螢屏上是不顯示的

-
-
創建一個供FTP服務使用檔案目錄
- 命令:
mkdir /var/ftp/test

- 命令:
-
更改 /var/ftp/test 目錄的擁有者為 ftptest【剛才創建的用戶】
- 命令:
chown -R ftptest:ftptest /var/ftp/test

- 命令:
4.2.2 vsftpd.conf 檔案配置【主動模式 or 被動模式】
在配置之前先大概了解一下主動模式和被動模式
- 主動模式:服務器的資料埠20主動連接客戶端的資料埠【對FTP服務器端的管理有利,對客戶端的管理不利】
- 被動模式:客戶端主動跟服務器的20埠進行連接【對FTP客戶端的管理有利,對服務器端的管理不利】
4.2.2.1 主動模式
-
命令如下,直接復制過去運行就ok了
sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf #禁止匿名登錄FTP服務器 sed -i 's/listen=NO/listen=YES/' /etc/vsftpd/vsftpd.conf #監聽IPv4 sockets sed -i 's/listen_ipv6=YES/#listen_ipv6=YES/' /etc/vsftpd/vsftpd.conf #關閉監聽IPv6 sockets sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/' /etc/vsftpd/vsftpd.conf #全部用戶被限制在主目錄 sed -i 's/#chroot_list_enable=YES/chroot_list_enable=YES/' /etc/vsftpd/vsftpd.conf #啟用例外用戶名單 sed -i 's/#chroot_list_file=/chroot_list_file=/' /etc/vsftpd/vsftpd.conf #指定例外用戶串列檔案,串列中的用戶不被鎖定在主目錄 echo "allow_writeable_chroot=YES" >> /etc/vsftpd/vsftpd.conf echo "local_root=/var/ftp/test" >> /etc/vsftpd/vsftpd.conf #設定本地用戶登錄后所在的目錄
4.2.2.2 被動模式
-
命令如下
sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf #禁止匿名登錄FTP服務器 sed -i 's/listen=NO/listen=YES/' /etc/vsftpd/vsftpd.conf #監聽IPv4 sockets sed -i 's/listen_ipv6=YES/#listen_ipv6=YES/' /etc/vsftpd/vsftpd.conf #關閉監聽IPv6 sockets sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/' /etc/vsftpd/vsftpd.conf #全部用戶被限制在主目錄 sed -i 's/#chroot_list_enable=YES/chroot_list_enable=YES/' /etc/vsftpd/vsftpd.conf #啟用例外用戶名單 sed -i 's/#chroot_list_file=/chroot_list_file=/' /etc/vsftpd/vsftpd.conf #指定例外用戶串列檔案,串列中的用戶不被鎖定在主目錄 echo "allow_writeable_chroot=YES" >> /etc/vsftpd/vsftpd.conf echo "local_root=/var/ftp/test" >> /etc/vsftpd/vsftpd.conf #設定本地用戶登錄后所在的目錄 echo "pasv_enable=YES" >> /etc/vsftpd/vsftpd.conf #開啟被動模式 echo "pasv_address=<FTP服務器公網IP地址>" >> /etc/vsftpd/vsftpd.conf #本教程中為ECS服務器彈性IP echo "pasv_min_port=20" >> /etc/vsftpd/vsftpd.conf #設定被動模式下,建立資料傳輸可使用的埠范圍的最小值 echo "pasv_max_port=21" >> /etc/vsftpd/vsftpd.conf #設定被動模式下,建立資料傳輸可使用的埠范圍的最大值
4.2.3 例外用戶名單
- 在 /etc/vsftpd 目錄下創建 chroot_list 檔案,在檔案中寫入例外用戶名單
- 命令:
vim /etc/vsftpd/chroot_list - 使用vim命令編輯
chroot_list檔案,添加例外用戶名單,此名單中的用戶不會被鎖定在主目錄,可以訪問其他目錄,
- 命令:
注意:沒有例外用戶時,也必須創建chroot_list檔案,內容可為空,
- 最后重啟FTP服務即可
- 命令:
systemctl restart vsftpd.service
- 命令:
4.2.4 測驗
-
同樣,我們在瀏覽器輸入
ftp://<FTP服務器公網IP地址>:FTP埠,我訪問的地址為ftp://139.196.209.227:21,可以看到,在設定為本地用戶模式的情況下,我們需要輸入用戶名和密碼登錄才可進行訪問,我們輸入剛才創建的用戶ftptest和自己設定好的密碼進行訪問

-
登錄成功后界面如下,此時我們就可以對FTP檔案進行相應權限的操作

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/128759.html
標籤:其他
上一篇:執行緒記憶體yi'chu
