vsftpd是什么?
答:ftp(File Transfer Protocol)文件傳輸協(xié)議。(實(shí)現(xiàn)不同操作系統(tǒng)之間文件的傳輸)
vsftpd是一個(gè)基于ftp協(xié)議的文件傳輸服務(wù)器軟件。
問(wèn)題2:vsftpd作用是什么?
答:傳輸文件。(跨平臺(tái)、跨操作系統(tǒng))
問(wèn)題3:如何使用?
答:服務(wù)端:在linux安裝vsftpd軟件,開(kāi)啟服務(wù)。
客戶端:通過(guò)FtpClient客戶端建立和服務(wù)器的連接,向服務(wù)器發(fā)送請(qǐng)求。
(1)在Linux上安裝vsftpd服務(wù)。
(2)根據(jù)圖片的地址訪問(wèn)圖片。(最終保存到數(shù)據(jù)庫(kù)的是圖片的路徑)
(3)web工程中實(shí)現(xiàn)圖片上傳。
思路:(1)安裝軟件
(2)測(cè)試服務(wù)是否可用
第一步:安裝vsftpd軟件
[root@node0719 ~]# yum -y install vsftpd
[第二步:關(guān)閉匿名訪問(wèn)
修改vsftpd配置文件 ??vim /etc/vsftpd/vsftpd.conf
第三步:添加一個(gè)FTP用戶
創(chuàng)建一個(gè)用戶,專門用來(lái)訪問(wèn)vsftpd服務(wù)。
[root@node0719 ~]# useradd ftpuser
[root@node0719 ~]# passwd ftpuser
第四步:設(shè)置防火墻
vsftpd服務(wù)默認(rèn)端口號(hào)為21,修改防火墻,開(kāi)放此端口,重啟防火墻。
[root@node0719 ~]# vim /etc/sysconfig/iptables
[root@node0719 ~]# service iptables restart
第五步:修改selinux(Linux安全內(nèi)核系統(tǒng))
(1)先查看selinux,默認(rèn)是禁用了ftp訪問(wèn)的。
[root@bogon ~]# getsebool -a | grep ftp ?
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> off
ftpd_connect_db --> off
ftpd_use_passive_mode --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
(2)修改selinux,開(kāi)放ftp訪問(wèn)權(quán)限
[root@bogon ~]# setsebool -P allow_ftpd_full_access on
[root@bogon ~]# setsebool -P ftp_home_dir on
第六步:?jiǎn)?dòng)vsftpd服務(wù)
[root@node0719 vsftpd]# service vsftpd start
為vsftpd 啟動(dòng) vsftpd: ???????????????????????????????????[確定]
第七步:通過(guò)瀏覽器訪問(wèn)測(cè)試
訪問(wèn)地址:ftp://192.168.23.12:21,發(fā)現(xiàn)無(wú)法訪問(wèn)。
原因:被動(dòng)模式下,數(shù)據(jù)傳輸服務(wù)被防火墻攔截了。
(1)被動(dòng)模式
第二次請(qǐng)求過(guò)程中,客戶端跟服務(wù)端建立數(shù)據(jù)通道;
服務(wù)端被動(dòng)將數(shù)據(jù)響應(yīng)給客戶端。
第二次請(qǐng)求數(shù)據(jù)傳輸,會(huì)隨機(jī)生成一個(gè)服務(wù)端口。被防火墻禁用。
(2)主動(dòng)模式
服務(wù)端主動(dòng)向客戶端發(fā)送數(shù)據(jù),會(huì)被客戶端的防火墻禁掉。
多數(shù)客戶端不支持主動(dòng)模式,不安全。
第八步:配置被動(dòng)模式
(1)編輯/etc/vsftpd/vsftpd.conf文件
[root@bogon ~]# vim /etc/vsftpd/vsftpd.conf
(2)添加防火墻范圍設(shè)置(在文件尾部添加即可):
pasv_min_port=30000
pasv_max_port=30999
(3)修改防火墻,開(kāi)啟30000:30999之間所有的端口。
(4)重啟防火墻。
(5)重啟vsftpd服務(wù)
再次訪問(wèn)瀏覽器,發(fā)現(xiàn)可以正常連接了。