安裝vsftpd
使用rpm -qa | grep vsftpd
查看是否已安裝
使用yum install vsftpd
進行安裝村斟,一路y過去即可
將其加入開機啟動chkconfig vsftpd on
vsftpd配置
anonymous_enable=YES(NO)
是否允許匿名登錄
guest_enable=YES (NO)
若這個值設定為 YES 時褂乍,那么任何非 anonymous 登入的賬號,均會被假設成為 guest (訪客) 稳捆! 至于訪客在 vsftpd 當中执赡,預設會取得 ftp 這個使用者的相關權限绽昼。但可以透過 guest_username 來修改纺非。
guest_username=ftp
在 guest_enable=YES 時才會生效,指定訪客的身份而已舱馅。
虛擬用戶配置
vsftp是支持使用虛擬用戶登錄ftp的缰泡,即這個用戶只能使用ftp而不能通過命令行等其他方式登錄服務器。
首先需要安裝這個工具,
yum install db4 db4-utils
然后代嗤,創(chuàng)建保存用戶名和密碼的文件棘钞,這里我使用/etc/vsftpd/vuser_passwd
文件中輸入你要創(chuàng)建的虛擬用戶和密碼,一行用戶名一行密碼资溃,比如這樣
test1
123456
test2
123456
這樣就創(chuàng)建了test1和test2兩個密碼均為123456的用戶
接著武翎,用剛安裝的db4工具生成需要的認證文件,命令如下
db_load -T -t hash -f /etc/vsftpd/vuser_passwd /etc/vsftpd/vuser_passwd.db
隨后溶锭,編輯認證文件/etc/pam.d/vsftpd,全部注釋掉原來語句符隙,再增加以下兩句
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
更多具體的配置可以去這里查看
配置PASV模式
FTP服務程序一般會支持兩種不同的模式趴捅,一種是Port模式,一種是Passive模式(Pasv Mode)霹疫。
至于為什么要開啟PSAV模式拱绑,這里引用一下百科的解釋
路由上有兩個ip一個是內網(wǎng)ip(也就是你的網(wǎng)關地址)另外一個是外網(wǎng)IP,你所有LAN中的計算機都是共享這個218.63.1.5訪問INTERNET的(中間通過了192.168.1.1這個網(wǎng)關),讓我們來看一個連接的詳細過程,以便您更進一步了解為什么需要設置成為PASV mode 傳送:當您通過下載工或使用瀏覽器下載影片的時候就開始連接FTP服務器, 當FTP服務收到你的連接請求后發(fā)送應答信息給客戶并開始等待用戶的認證信息,-->認證通過后開始建立數(shù)據(jù)連接如果你不是設置成為pasv模式,那么客戶段(下載工具)會在本地計算機開一個數(shù)據(jù)端口,然后發(fā)送一條“命令”給FTP服務段,(我已打開了n端口你現(xiàn)在可以連接我),那么FTP服務器段就開始連接你ip地址的N端口,(但是連接是失敗的) 因為你是通過192.168.1.1 這個網(wǎng)關(你的路由設備)訪問internet的ftp服務段他實際上是同你的外網(wǎng)地址為218.63.1.5的路由設備連接,根本就連接不上你下載工具中打開的端口,例如你使用的是 192.168.1.2 這個客戶機,F(xiàn)TP服務段此時無法同你計算機(192.168.1.2)監(jiān)聽端口N連接上,所以此時你會看到服務器反饋的錯誤信息,提示你192.168.1.2打開的端口無法連接之類的, 信息此時你就需要把傳送模式設置成為PASV模式,而如果你使用的是PASV模式那么當你ftp通過認證后,客戶段首先向服務器發(fā)送一條PASV命令,服務段接受到命令后打開一個端口并告訴客戶段“我已打開了一個端口,你此時可以來連接了" 客戶段(下載工具)接受到信息后,就去連接服務段已經(jīng)打開了的端口,從而完成數(shù)據(jù)連接,所有ftp下載的數(shù)據(jù)流都將通過這個端口傳送丽蝎。
具體配置如下
打開/etc/vsftpd/vsftpd.conf
猎拨,在末尾添加
pasv_enable=YES //開啟PASV模式
pasv_min_port=0 //最小端口號膀藐,0即任意
pasv_max_port=0 //最大端口號,0即任意
其他
- 如果你使用的是云服務器红省,比如阿里云额各,因為vsftp需要使用21端口,所以需要在服務器安全組配置中開啟21端口
-
如果遇到能夠成功登錄卻獲取不到目錄的情況吧恃,打開
/etc/vsftpd/vsftpd.conf
添加pasv_address=你的服務器ip pasv_addr_resolve=yes
這兩行配置