文章目錄
- 一、FTP服務
- 1.FTP概述
- 1.FTP連接
- 2.FTP傳輸模式
- 2.1 主動模式:
- 2.3 被動模式:
- 二、FTP連接實驗
- 1.編輯ftp組態檔
- 2.為匿名訪問ftp的根目錄下的 pub子目錄設定最大權限,以便匿名用戶上傳資料
- 3.匿名訪問測驗
- 4.設定本地用戶驗證訪問ftp,并禁止切換到ftp以外的目錄(默認登錄的根目錄為本地用戶的家目錄)
- 5.使用 user_list 用戶串列檔案
一、FTP服務
1.FTP概述
- FTP(File Transfer Protocol,檔案傳輸協議) 是 TCP/IP 協議組中的協議之一,FTP協議包括兩個組成部分,其一為FTP服務器,其二為FTP客戶端
- 其中FTP服務器用來存盤檔案,用戶可以使用FTP客戶端通過FTP協議訪問位于FTP服務器上的資源,即依照 FTP 協議提供服務,進行檔案傳送的計算機
- 而連接FTP服務器,遵循FTP協議與服務器傳送檔案的電腦就是FTP客戶端
- 用戶要連上FTP 服務器,就要用到 FTP 的客戶端軟體
- FTP需要由服務端軟體、客戶端軟體兩個部分共同實作檔案傳輸功能
- FTP是一個客戶/服務器系統,用戶通過一個客戶機程式連接至在遠程計算機上運行的服務器程式
1.FTP連接
- FTP服務器默認使用TCP協議的20、21埠于客戶端進行通信
- 20埠用于建立資料連接,并傳輸檔案資料
- 21埠用于建立控制連接,并傳輸FTP控制命令
2.FTP傳輸模式
- 根據FTP服務器在建立資料連接程序中的主、被動關系,FTP資料連接分為主動模式和被動模式,兩者的含義及主要區別如下
2.1 主動模式:
- 服務器主動發起資料連接
- 首先由客戶端向服務端的21埠建立FTP控制連接,當需要傳輸資料時,客戶端以PORT命令告知服務器“我打開了某埠,你過來連接我”,于是服務器從20埠向客戶端的該埠發送請求并建立資料連接
2.3 被動模式:
- 服務器被動等待資料連接
- 如果客戶機所在網路防火墻禁止主動模式連接,通常使用被動模式
- 首先由客戶端向服務端的21埠建立FTP連接,當需要傳輸資料時,服務器以PASV命令告知客戶端“我打開了某埠,你來鏈接我”,于是客戶端向服務器的該埠(非20)發送請求并建立資料連接
二、FTP連接實驗
- 實驗環境:
在VMware環境下的Linux虛擬機(CentOS 7)和Win10虛擬機
1.編輯ftp組態檔
[root@localhost ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 寫保護,將以只讀方式掛載
[root@localhost ~]# df -hT ##檢查是否已掛載好
...
...略
[root@localhost ~]# yum -y install vsftpd ##安裝vsftpd軟體包
...
...略
[root@localhost ~]# cd /etc/vsftpd/
[root@localhost vsftpd]# ls ##查看一下該檔案
ftpusers vsftpd.conf
user_list vsftpd_conf_migrate.sh
[root@localhost vsftpd]# cp vsftpd.conf vsftpd.conf.bak ##需要將vstpd.conf檔案備份,它沒有模板
- vim vsftpd.conf

2.為匿名訪問ftp的根目錄下的 pub子目錄設定最大權限,以便匿名用戶上傳資料

3.匿名訪問測驗
- 在虛擬機Windows10打開 開始 選單,輸入 cmd 命令打開命令提示符

- 切換到Linux虛擬機,新建檔案以作測驗
[root@localhost ftp]# cd pub/
[root@localhost pub]# touch xcfxcf.txt ##新建一個檔案以作測驗
[root@localhost pub]# ls
xcfxcf.txt
- 再切回到win10,確認一下


- 再測驗一下從win10上傳檔案至ftp目錄
- 這里順便在新建一個檔案夾,注意格式

- 再回到CMD你輸入確認后可能會提示你“遠程主機關閉連接”,這里是因為時間久了會自動斷開連接,沒事,再重連下就行

- 再回到Linux查看下

4.設定本地用戶驗證訪問ftp,并禁止切換到ftp以外的目錄(默認登錄的根目錄為本地用戶的家目錄)


- 修改完后重啟服務,可以多重啟幾次
[root@localhost pub]# systemctl restart vsftpd
[root@localhost pub]# systemctl restart vsftpd
[root@localhost pub]#

- 再回到Win10虛擬機

- Linux繼續修改以下設定
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf

[root@localhost ~]# systemctl restart vsftpd
##記得重啟!
- 再切回到win10虛擬機

5.使用 user_list 用戶串列檔案
- 當vsftpd服務器開放了“local_enable”配置項以后,默認情況下除root外的所有系統用戶都可以登錄到此FTP服務器
- 若只希望對一小部分系統用戶開放FTP服務,則需要開放用戶串列控制的相關配置項
- 操作如下:
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf

[root@localhost ~]# vim /etc/vsftpd/user_list

- 配置完記得重啟一下服務
[root@localhost ~]# systemctl restart vsftpd
-
新建好剛才設定進去的那兩個用戶

-
再去Win10虛擬機測驗一把

-
這就是一個類似于白名單的功能
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/234973.html
標籤:其他
