1 FTP
1 FTP是一個相當古老并且應用極為廣泛的網際網路協定,FTP為我們提供了一種可靠的方式在網絡上進行檔案共享
2 FTP是一種CS架構的服務,擁有一個服務端和用戶端,FTP使用TCP協定作為底層傳輸協定,提供了資料傳輸的可靠性,FTP的标準端口為20,21,20做為資料接口,21為指令接口
3 所有的共享的檔案都是放在服務端
2 FTP模式
FTP用戶端和服務端連接配接有兩種模式
1 主動模式:指的是假設用戶端要向服務端請求檔案共享的時候,首先用戶端先發送一個請求到服務的21号端口,然後服務端傳回一個指令要求用戶端要做什麼,接下來服務端通過20端口把資料發給用戶端
2 由于現在的計算機很多都是有防火牆,很多由外網連接配接進來的都會被拒絕,是以現在開發了被動模式
2 被動模式: 指的是假設用戶端要向服務端請求檔案共享的時候,首先用戶端先發送一個請求到服務的21号端口,然後服務端傳回一個指令要求用戶端要做什麼。接下來用戶端發送請求到服務端,服務端再把資料發給用戶端
被動模式适合于現在絕大多數的有設定防火牆的主機
3 vsftpd
1 在Linux中應用作為廣泛的FTP服務程式叫做vsftpd,vsftpd為我們提供了一個快速,穩定的并且相當安全的FTP服務
2 使用以下指令來安裝vsftpd
yum install -y vsftpd
3 vsftpd的相關配置檔案及目錄如下
/etc/vsftpd/vsftpd.conf - vsftpd主配置檔案
/etc/vsftpd/ftpusers - 黑名單
/etc/vsftpd/user_list - 控制名單(由配置檔案控制是白名單還是黑名單)
/var/ftp - ftp共享目錄
4 FTP使用者
1 vsftpd使用使用者作為管理機關,想要通路某個ftp共享檔案,必須以特定使用者登入,我們可以配置以下幾種類型的使用者
2 正常使用者 (系統使用者)
匿名使用者 (anonymous)
虛拟使用者 (ftp-ony)
3 預設情況下,vsftpd在安裝的時候會建立一個ftp使用者,這個使用者就是作為匿名使用者使用,ftp使用者預設的家目錄指向/var/ftp/,任何沒有通路限制的檔案都可以通過匿名使用者共享
4 每一個系統中的使用者都可以通過ftp方式通路自己的家目錄
5 匿名使用者共享
1 vsftpd安裝好之後可以直接啟動使用,不需要進行任何配置,預設的情況下匿名使用者可以登入使用,普通系統中的使用者也可以通過ftp方式通路自己的家目錄
2 我們可以通過ftp指令作為ftp用戶端使用,通過以下指令安裝ftp
yum install -y ftp
3 指令ftp預設使用匿名使用者登入
iftp 192.168.1.100
4 也可以指定使用者登入
iftp -u linuxcast 192.168.1.100
6 FTP基本指令
1 使用get指令可以從ftp伺服器上下載下傳一個檔案
iftp 192.168.1.100
cd pub
get linuxcast.tar.gz
2 使用put指令可以将一個檔案上傳到ftp伺服器上
iftp -u linuxcast 192.168.1.100
cd Downloads
put linuxcast.tar.gz
3 隻要登入的使用者具有對某個檔案的寫權限,那麼就可以進行上傳的操作
4 使用匿名登入ftp下載下傳整個目錄 wget -m ftp://xxxx/dirname
7 匿名使用者上傳
1 預設情況下,vsftpd隻允許匿名使用者通路,但是不允許使用匿名使用者上傳檔案,我們可以通過以下方式配置匿名使用者上傳
2 修改配置檔案開啟匿名使用者上傳功能:
1 /etc/vsftpd/vsftpd.conf
2 anonymous_enable = YES 開啟匿名使用者
anon_upload_enable = YES 打開匿名使用者上傳功能
anon_mkdir_write_enable = YES 打開匿名使用者建立檔案夾功能
3 賦予匿名使用者上傳使用的檔案夾以寫權限
chmod 777 /var/ftp/pub