1.1.1 vsftpd簡介
問題1:vsftpd是什麼?
答:ftp(File Transfer Protocol)檔案傳輸協定。(實作不同作業系統之間檔案的傳輸)
vsftpd是一個基于ftp協定的檔案傳輸伺服器軟體。
問題2:vsftpd作用是什麼?
答:傳輸檔案的檔案伺服器。(跨平台、跨作業系統)
問題3:如何使用?
答:服務端:在linux安裝vsftpd軟體,開啟服務。
用戶端:通過FtpClient用戶端建立和伺服器的連接配接,向伺服器發送請求。
1.2 實作步驟說明
(1)在Linux上安裝vsftpd服務。
(2)根據圖檔的位址通路圖檔。(最終儲存到資料庫的是圖檔的路徑)
(3)web工程中實作圖檔上傳。
1.3 實作步驟
1.3.1 第一部分:在Linux上部署vsftpd服務
思路 :(1)安裝軟體
(2)測試服務是否可用
1.3.1.1 第一步:安裝vsftpd軟體
[[email protected] ~]# yum -y install vsftpd
1.3.1.2 第二步:關閉匿名通路
修改vsftpd配置檔案 vim /etc/vsftpd/vsftpd.conf
1.3.1.3 第三步:添加一個FTP使用者
建立一個使用者,專門用來通路vsftpd服務。
[[email protected] ~]# useradd ftpuser
[[email protected] ~]# passwd ftpuser
1.3.1.4 第四步:設定防火牆
vsftpd服務預設端口号為21,修改防火牆,開放此端口,
重新開機防火牆。[[email protected] ~]# vim /etc/sysconfig/iptables
[[email protected] ~]# service iptables restart
1.3.1.5 第五步:修改selinux(Linux安全核心系統)
(1)先檢視selinux,預設是禁用了ftp通路的。
[[email protected] ~]# 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,開放ftp通路權限
[[email protected] ~]# setsebool -P allow_ftpd_full_access on
[[email protected] ~]# setsebool -P ftp_home_dir on
1.3.1.6 第六步:啟動vsftpd服務
[[email protected] vsftpd]# service vsftpd start
為 vsftpd 啟動 vsftpd: [确定]
1.3.1.7 第七步:通過浏覽器通路測試
通路位址:ftp://192.168.23.12:21,發現無法通路。
原因:被動模式下,資料傳輸服務被防火牆攔截了。
(1)被動模式
第二次請求過程中,用戶端跟服務端建立資料通道;
服務端被動将資料響應給用戶端。
第二次請求資料傳輸,會随機生成一個服務端口。被防火牆禁用。
(2)主動模式
服務端主動向用戶端發送資料,會被用戶端的防火牆禁掉。
多數用戶端不支援主動模式,不安全。
1.3.1.8 第八步:配置被動模式
(1)編輯/etc/vsftpd/vsftpd.conf檔案
[[email protected] ~]# vim /etc/vsftpd/vsftpd.conf
(2)添加防火牆範圍設定(在檔案尾部添加即可):
pasv_min_port=30000
pasv_max_port=30999
(3)修改防火牆,開啟
30000:30999之間所有的端口。
(4)重新開機防火牆。
(5)重新開機vsftpd服務
再次通路浏覽器,發現可以正常連接配接了。