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 只要登錄的用戶具有對某個文件的寫權限,那麼就可以進行上傳的操作
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