ftp(file transfer protocol)檔案傳輸協議,工作在tcp/ip模型的應用層,在客戶端與伺服器之間進行資料的傳輸。
客戶端開啟乙個隨機的埠x(埠號大於1024,小於65535),連線至伺服器的21號命令埠。源埠為客戶端隨機埠x,遠端埠為伺服器端口21。
客戶端開始監聽埠(x+1),同時通過伺服器的21號命令埠向伺服器傳送乙個埠命令(提交port命令),此命令告訴伺服器客戶端客戶端我正在監聽的埠號並且已準備好從此埠接收資料。
伺服器開啟20號源埠並且建立和客戶端資料埠的連線。此時,源埠為伺服器端埠20,遠端資料埠為(x+1)。
命令通道:server port21 由客戶端主動建立
資料通道:server port20 由服務端主動建立
在建立資料通道的時候,伺服器客戶端的角色發生了改變,當伺服器發起連線的時候,一般會受到防火牆的阻擋。(下面被動模式解決了這個問題)
客戶端開啟兩個任意的非特權本地埠x(x> 1024和x+1 < 65535)。第乙個埠連線伺服器的21埠,提交
pasv命令,告訴伺服器,請求被動模式連線資料通道。
伺服器會開啟乙個任意的非特權埠(n > 1024),並傳送port n命令給客戶端,告知準備連線的埠。
客戶端發起從本地埠x+1到伺服器的埠n的連線用來傳送資料。
命令通道:server port21 由客戶端主動建立
資料通道:server port n(65535> n > 1024 ) 由服客戶端主動建立
被動模式裡面,兩種連線伺服器都處於被動的角色,由客戶端來完成主動的工作,兩次的連線都由客戶端發起。
其預設的主目錄就是其帳號命名的目錄。但是,其還可以變更到其他目錄中去。如系統的主目錄等等。
只能夠訪問其主目錄下的目錄,而不得訪問主目錄以外的檔案。
在ftp伺服器中沒有指定帳戶,但是其仍然可以進行匿名訪問某些公開的資源。
vsftp(very secure file transfer protocol damon):以安全為重心。
開啟服務,並設定開機啟動
當ls 看到有內容的時候表示初步搭建,並且登陸成功。如果沒有成功,請考慮selinux以及放火牆的設定。
配置檔案存在於/etc/vsftp/sftpd.conf
裡面。
1. 匿名使用者登陸設定:
anonymous_enable=yes|no ##是否允許匿名使用者
yes為允許匿名使用者登陸,(預設也為yes允許登陸)。no為不允許匿名使用者登陸,當允許匿名使用者登陸後,可以進行以下相關的許可權設定。
2. 匿名使用者家目錄設定:
anon_root=/direcotry
4. 匿名上傳設定:
anon_upload_enable=yes ##允許匿名使用者上傳
anon_umask=*** ##匿名使用者上傳的檔案掩碼
5. 匿名建立目錄設定:anon_mkdir_write_enable=yes|no
若為yes則anon_other_write_enable=yes/no(no) 應該設定成yes.
6. 匿名其他讀寫許可權設定:
anon_other_write_enable=yes/no(no)
如果設為yes,則允許匿名使用者更多於上傳或者建立目錄之外的許可權,譬如刪除或者重新命名。(如果anon_upload_enable=no,則匿名使用者不能上傳檔案,但可以刪除或者重新命名已經存在的檔案;如果anon_mkdir_write_enable=no,則匿名使用者不能上傳或者新建資料夾,但可以刪除或者重新命名已經存在的資料夾。)預設值為no。
1. 本地使用者登陸設定:
local_enable=yes|no ##本地使用者登陸限制
write_enable=yes|no ##本地使用者寫許可權限制
2. 本地使用者家目錄設定:local_root=/directory
3. 本地使用者上傳檔案許可權:local_umask=***
4. 限制本地使用者瀏覽/目錄:chroot_local_user=yes ##所有使用者設定鎖定在家目錄(預設為no,不鎖定)
chmod u-w /home/*
這種方式太過極端:有設定黑白名單的方式進行部分設定:
使用者黑名單建立,名單中的進行家目錄鎖定
chroot_local_user=no
chroot_list_enable=yes
chroot_list_file=/etc/vsftpd/chroot_list
使用者白名單建立,名單中的允許越級訪問系統目錄
chroot_local_user=yes
chroot_list_enable=yes
chroot_list_file=/etc/vsftpd/chroot_list
5. 限制本地使用者登陸:vim /etc/vsftpd/ftpusers ##使用者永久黑名單
vim /etc/vsftpd/user_list ##使用者臨時黑名單
**若設定了 userlist_deny=no
/etc/vsftpd/user_list 此檔案變成使用者白名單,只在名單中出現的使用者可以登陸ftp。
更多詳細配置
all
ftp檔案伺服器
linux安裝ftp元件 安裝vsftpd元件 安裝完後,有 etc vsftpd vsftpd.conf 檔案,是vsftp的配置檔案。root bogon yum y install vsftpd 新增乙個ftp使用者 此使用者就是用來登入ftp伺服器用的。root bogon useradd ...
ftp檔案伺服器搭建
查詢系統是否已經開啟ftp服務 rpm q vsftpd安裝vsftpd yum y install vsftpd y表示不用輸入確定,直接一路安裝到底設定開機啟動ftp systemctl enable vsftpd啟動ftp systemctl start vsftpd.service檢視ftp...
FTP共享檔案伺服器
簡介 ftp file transfer protocol,檔案傳輸協議 是 tcp ip 協議組中的協議之一。ftp協議包括兩個組成部分,其一為ftp伺服器,其二為ftp客戶端。其中ftp伺服器用來儲存檔案,使用者可以使用ftp客戶端通過ftp協議訪問位於ftp伺服器上的資源。一般來說ftp使用2...