FTP協議佔用兩個端口號:vim
21端口:命令控制,用於接收客戶端執行的FTP命令。安全
20端口:數據傳輸,用於上傳、下載文件數據。、服務器
FTP數據傳輸的類型:spa
主動模式:FTP服務端主動向FTP客戶端發起鏈接請求。rest
被動模式:FTP服務端等待FTP客戶端的鏈接請求。blog
vsftpd程序提供的FTP服務可選認證方式,分別爲匿名訪問、本地用戶和虛擬用戶:ip
匿名訪問:任何人無需驗證口令便可登入FTP服務端。ci
本地用戶:使用FTP服務器中的用戶、密碼信息。it
虛擬用戶:建立獨立的FTP賬號資料。io
Vsftpd的程序與配置文件:
主程序 |
/usr/sbin/vsftpd |
用戶禁止登錄列表 |
/etc/vsftpd/ftpusers |
主配置文件 |
/etc/vsftpd/vsftpd.conf |
安裝vsftpd服務程序
[root@liuxuanke-hbza ~]# yum install vsftpd -y
清空默認的防火牆默認規則:
[root@liuxuanke-hbza ~]# iptables -F
保存清空後的防火牆規則表:
[root@liuxuanke-hbza ~]# service iptables save
1、匿名訪問模式
一、FTP匿名訪問模式是比較不安全的服務模式,尤爲在真實的工做環境中千萬不要存放敏感的數據,以避免泄露。
vsftpd程序默認已經容許匿名訪問模式,咱們要作的就是開啓匿名用戶的上傳和寫入權限,寫入參數
[root@liuxuanke-hbza ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES 容許匿名訪問模式
anon_umask=022 匿名用戶上傳文件的umask值
anon_upload_enable=YES 容許匿名用戶上傳文件
anon_mkdir_write_enable=YES 容許匿名用戶建立目錄
anon_other_write_enable=YES 容許匿名用戶修改目錄名或刪除目錄
二、確認填寫正確後保存並退出vsftpd.conf文件,而後重啓vsftpd服務程序並設置爲開機自啓動。
[root@liuxuanke-hbza ~]# systemctl restart vsftpd
[root@liuxuanke-hbza ~]# systemctl enable vsftpd
三、在客戶機中添加ftp服務,ftp命令用於使用FTP服務,格式爲:「ftp [參數] [FTP主機]」。
[root@bogon ~]# yum install ftp -y
[root@bogon ~]# ftp 192.168.10.100
上面操做中已經將防火牆規則清空,在vsftpd.conf文件中也已經容許匿名用戶建立目錄與寫入權限,那怎麼會被拒絕了呢?
因而返回服務端匿名訪問模式的FTP根目錄爲/var/ftp:
[root@liuxuanke-hbza ~]# ls -ld /var/ftp/pub
drwxr-xr-x 2 root root 6 8月 3 2017 /var/ftp/pub
原來匿名用戶的FTP根目錄全部者/組都是root,因此匿名用戶沒有寫入權限
[root@liuxuanke-hbza ~]# chown ftp /var/ftp/pub
再回到客戶端試試
完成這個須要恢復快照
2、本地用戶模式
一、本地用戶模式確實要比匿名訪問模式更加的安全,因此本實驗中會關閉匿名訪問模式。
vsftpd服務程序默認已經容許本地用戶模式,咱們要作的是添加設置本地用戶模式權限的參數:
[root@liuxuanke-hbza ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO 禁止匿名訪問模式
local_enable=YES 容許本地用戶模式
write_enable=YES 設置可寫入權限
local_umask=022 本地用戶模式建立文件的umask值
userlist_deny=YES 參數值爲YES即禁止名單中的用戶,參數值爲NO則表明僅容許名單中的用戶
userlist_enable=YES 容許「禁止登錄名單」,名單文件爲ftpusers與user_list
二、確認填寫正確後保存並退出vsftpd.conf文件,而後重啓vsftpd服務程序並設置爲開機自啓動。
[root@liuxuanke-hbza ~]# systemctl restart vsftpd
[root@liuxuanke-hbza ~]# systemctl enable vsftpd
三、咱們先來看下ftpusers或user_list文件中禁止登錄用戶名單:
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
vsftpd服務爲了讓FTP服務更加的安全,默認禁止以root身份登入,那麼建立個普通用戶吧:
[root@liuxuanke-hbza ~]# useradd liuxuanke
爲liuxuanke用戶設置密碼:
[root@liuxuanke-hbza ~]# passwd liuxuanke
在客戶機中嘗試登入FTP服務