VSFTP
軟體資訊
服務端軟體名: vsftpd
用戶端軟體名:ftp
服務名:vsftpd
端口:20、21、指定範圍随機
配置檔案:/etc/vsftpd/vsftpd.conf
登入驗證方式
匿名使用者驗證
使用者賬号名稱: ftp或anonymous
使用者賬号密碼: 無密碼
工作目錄: /var/ftp
預設權限: 預設可下載下傳不可上傳,上傳權限由兩部分組成(主配置檔案和檔案系統)
本地使用者驗證
使用者賬号名稱:本地使用者(/etc/passwd)
使用者賬号密碼: 使用者密碼(/etc/shadow)
工作目錄:登入使用者的宿主目錄
權限:最大權限(drwx------)
安裝
yum install -y vsftpd
匿名使用者
注意: 在用戶端登入後,預設情況下是可以下載下傳的,但不能上傳
-
實作可以上傳
a. anon_upload_enable=YES
b. 在/var/ftp/下建立上傳目錄
c. 修改上傳目錄的權限或所有者,讓匿名使用者有寫入權限
vim /etc/vsftpd/vsftpd.conf 取消 anon_upload_enable=YES 注釋 mkdir /var/ftp/upload chomd o+w /var/ftp/upload systemctl restart vsftpd
-
實作建立目錄和檔案其他操作
non_mkdir_write_enable=YES 允許建立目錄
anon_other_write_enable=YES 開放其他寫入權(删除、覆寫、重命名)
vim /etc/vsftpd/vsftpd.conf 取消 non_mkdir_write_enable=YESS 注釋 添加 anon_other_write_enable=YES
-
使用者進入某個檔案夾時,彈出相應的說明
a. 在對應目錄下建立 .message 檔案,并寫入相應内容
b. 确認dirmessage_enable=YES是否啟用
c. 嘗試卻換目錄檢視效果(同一次登入僅提示一次)
vim /etc/vsftpd/vsftpd.conf 确認 dirmessage_enable=YES 是否啟用 vim /var/ftp/upload/.message wecome ftp server!!!
-
實作上傳的檔案可下載下傳
預設情況下開放上傳權限後,上傳的檔案是無法被下載下傳的,因為檔案的其他人位置沒有r權限
設定anon_umask=022,可以讓上傳的檔案其他人位置擁有r權限, 然後才能被其他人下載下傳
vim /etc/vsftpd/vsftpd.conf 添加 anon_umask=022
本地使用者
實驗需求與流程:
- 服務端需要建立使用者并設定密碼(所建立的使用者,不需要登入作業系統,僅用來登入VSFTP)
useradd -s /sbin/nologin username
-
将所有使用者禁锢在自己的家目錄下
注: 預設沒有禁锢使用者時,用戶端登入後可以随意切換目錄,檢視檔案所在位置和檔案名
開啟使用者家目錄限制, 限制所有使用者不能随便切換目錄
vim /etc/vsftpd/vsftpd.conf 取消 chroot_local_user=YES 注釋 systemctl restart vsftpd
- 将部分使用者禁锢在自己的家目錄下
vim /etc/vsftpd/vsftpd.conf 取消 chroot_list_enable=YES 注釋 取消 chroot_list_file=/etc/vsftpd/chroot_list 注釋 将使用者寫進白名單 systemctl restart vsftpd
開啟白名單功能,允許白名單中的使用者随意切換目錄
白名單檔案所在位置(需自己建立)
-
配置檔案: /etc/vsftpd/ftpusers
所敵人
-
修改被動模式資料傳輸使用端口
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=35000