簡介
工作原理
ftp採用客戶端/服務端的工作模式(c/s結構),通過tcp協議建立客戶端和伺服器之間的連線,但與其他大多數應用協議不同,ftp協議在客戶端和服務端之間建立了兩條通訊鏈路,分別是控制鏈路和資料鏈路,其中,控制鏈路負責ftp會話過程中ftp命令的傳送和接收,資料鏈路則負責資料的傳輸。ftp會話包含了兩個通道,控制通道和資料通道,ftp的工作有兩種方式,一種是主動模式,一種是被動模式,以ftpserver為參照物,主動模式,伺服器主動連線客戶端傳輸,被動模式,等待客戶端的的連線 。(無論是主動模式還是被動模式,首先的控制通道都是先建立起來的,只是在資料傳輸模式上的區別)。
ftp的安裝與配置
安裝前準備
vsftpd是linux下的一款小巧輕快,安全易用的ftp伺服器軟體,是一款在各個linux發行版中最受推崇的ftp伺服器軟體。
1.安裝vsftpd,直接yum 安裝就可以了
yum install-y vsftpd
出現下圖表示安裝成功。
cd/etc/vsftpd
/etc/vsftpd/vsftpd.conf //主配置檔案,核心配置檔案
/etc/vsftpd/ftpusers //黑名單,這個裡面的使用者不允許訪問ftp伺服器
/etc/vsftpd/user_list //白名單,允許訪問ftp伺服器的使用者列表
3.啟動服務
systemctl enable vsftpd.service //設定開機自啟動
systemctl start vsftpd.service //啟動ftp服務
netstat -antup | grep ftp //檢視ftp服務埠
開通ftp服務對應的防火牆埠:21後,登入ftp伺服器。
匿名ftp的基本配置
使用匿名ftp,使用者無需輸入使用者名稱密碼即可登入ftp伺服器,vsftpd安裝後預設開啟了匿名ftp的功能,使用者無需額外配置即可使用匿名登入ftp伺服器。
匿名ftp的配置在/etc/vsftpd/vsftpd.conf中設定。
anonymous_enable=yes //預設即為yes
為了演示效果,我們安裝乙個lftp軟體。
yum-y install lftp//安裝lftp
lftp公網ip#連線到ftp伺服器
cd pub/#切換到pub目錄
put/etc/issue#上傳檔案
匿名ftp的其他設定
出於安全方面的考慮,vsftpd在預設情況下不允許使用者通過匿名ftp上傳檔案,建立目錄等更改操作,但是可以修改vsftpd.conf配置檔案的選項,可以賦予匿名ftp更多的許可權。
允許匿名ftp上傳檔案。
修改/etc/vsftpd/vsftpd.conf
write_enable=yes
anon_upload_enable=yes
chmod o+w/var/ftp/pub/#更改/var/ftp/pub目錄的許可權
systemctl restart vsftpd.service#重啟ftp服務
3、測試
配置本地使用者登入
本地使用者登入就是指使用linux作業系統中的使用者賬號和密碼登入ftp伺服器,vsftp安裝後默只支援匿名ftp登入,使用者如果試圖使用linux作業系統中的賬號登入伺服器,將會被vsftpd拒絕
1.建立ftptest使用者
useradd ftptest#建立ftptest使用者
passwd ftptest#修改ftptest使用者密碼
2.修改/etc/vsftpd/vsftpd.conf
anonymous enable=no
local_enable=yes
3.還是通過lftp連線到ftp伺服器
另外簡單介紹下vsftpd.conf的配置檔案引數說明。
cat/etc/vsftpd/vsftpd.conf
使用者登入控制
引數說明
anonymous_enable=yes
接受匿名使用者
no_anon_password=yes
匿名使用者login時不詢問口令
anon_root=(none)
匿名使用者主目錄
local_enable=yes
接受本地使用者
local_root=(none)
本地使用者主目錄
使用者許可權控制
引數說明
write_enable=yes
可以上傳(全域性控制)
local_umask=022
本地使用者上傳檔案的umask
file_open_mode=0666
上傳檔案的許可權配合umask使用
anon_upload_enable=no
匿名使用者可以上傳
anon_mkdir_write_enable=no
匿名使用者可以建目錄
anon_other_write_enable=no
匿名使用者修改刪除
chown_username=lightwiter
匿名上傳檔案所屬使用者名稱
搭建FTP伺服器
ftp 是僅基於 tcp 的服務,不支援 udp。與眾不同的是 ftp 使用兩個埠,乙個資料埠和乙個命令埠,也可叫做控制埠。通常來說這兩個埠是 21 命令埠 和 20 資料埠 由於 ftp 工作方式的不同,資料埠並不總是 20,分為 主動 ftp 和被動 ftp。1.主動 ftp 主動方式的 ftp...
ftp伺服器搭建
1.檢查是否已安裝vsftpd伺服器 rpm qa grep vsftpd 若未安裝則執行 yum install vsftpd y 2.設定開機自啟動 chkconfig vsftpd on1.執行cd etc vsftpd 用vi開啟vsftpd.conf 配置檔案 2.找到chroot lis...
搭建FTP伺服器
初次搭建ftp的過程中經過多次嘗試,總結了乙個較為簡單的ftp搭建步驟 1.首先購買乙個伺服器,個人使用的是阿里雲的ecs雲伺服器,系統選64位的centos7.2版本 阿里雲官網 2.安裝vsftp yum install vsftpd 遇到問號直接按回車 看到complete!表示已安裝完成 設...