一個小插曲,安裝一個FTP服務,便於和遠程服務器的文件溝通。後續我們會講到如何使用Capistrano配合git完成服務器的代碼部署以及發布流程。現在,代碼先走FTP吧,挺穩。
FTP 是File Transfer Protocol(文件傳輸協議)的英文簡稱,而中文簡稱為“文傳協議”。
在FTP的使用當中,用戶經常遇到兩個概念:"下載"(Download)和"上傳"(Upload)。"下載"文件就是從遠程主機拷貝文件至自己的計算機上;"上傳"文件就是將文件從自己的計算機中拷貝至遠程主機上。
用Internet語言來說,用戶可通過客戶機程序向(從)遠程主機上傳(下載)文件。
首先檢查一下你的遠程服務器是否已經安裝了FTP服務。
#rpm -qa | grep vsftpd
如果啥都沒顯示,恭喜你,沒有安裝ftp服務,你可以安心的進行下面的動作了。如果有vsftpd的版本,那該干啥干啥去,這章不適合你!!!
那我們首先安裝vsftpd。
vsftpd 是“very secure FTP daemon”的縮寫,安全性是它的一個最大的特點。vsftpd 是一個 UNIX 類操作系統上運行的服務器的名字,它可以運行在諸如 Linux、BSD、Solaris、 HP-UNIX等系統上面,是一個完全免費的、開放源代碼的ftp服務器軟件,支持很多其他的 FTP 服務器所不支持的特征。
運行下面的命令就可以完成vsftpd的安裝
#yum -y install vsftpd
安裝完成再次利用上面的rpm命令檢查一下是否完成安裝,如果完成安裝,那就可以繼續。
開啟vsftpd服務
#service vsftpd start
檢查vsftpd服務
#service vsftpd status
注意,ftp服務使用的是21端口,有時候也使用20端口。我們之前設置的iptables防火牆服務阻止了這一端口,所以也要添加下面的代碼到/etc/sysconfig/iptables裡去。
A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
重啟防火牆服務
#systemctl restart iptables.service
好的,到這裡,我們的默認ftp服務就已經開始運作啦,讓我們來測試一下吧。
#ftp localhost
用戶名稱那一欄輸入anonymous(匿名)
得到下面的信息就標識你的vsftp服務安裝已完成。
在ftp>後面輸入bye,先暫時和ftp告別,因為我們還有一些事沒干呢。
打開vsftpd服務的配置文件
#vim /etc/vsftpd/vsftpd.conf
改變這幾個屬性的值,具體是啥意思呢,當chroot_list_enable=YES,chroot_local_user=YES時,在/etc/vsftpd.chroot_list文件中列出的用戶,可以切換到其他目錄;未在文件中列出的用戶,不能切換到其他目錄。為了以後好控制,我們先打開這幾個配置。
保存退出,我們新建一個chroot_list文件
#touch /etc/vsftpd/chroot_list
重啟vsftp服務
#service vsftpd restart
#/usr/sbin/adduser -d /usr/www/ftptest -g ftp -s /sbin/nologin vftpuser
新增用戶vftpuser,用戶的主目錄是/usr/www/ftptest目錄,用戶組是ftp,不能登錄的賬戶。
設置vftpuser密碼
#passwd vftpuser
修改/usr/www/ftptest的目錄權限
#chmod 755 /usr/www/ftptest/
重啟vsftp服務
#/sbin/service vsftpd restart
查看SElinux策略內ftp相關權限
#getsebool -a | grep ftp
打開ftp權限
#setsebool allow_ftpd_full_access 1
重啟vsftp服務
#/sbin/service vsftpd restart
現在,可以在本機ftp遠程服務器啦。不過,楓爺推薦大家一款比較實用的ftp軟件:filezilla。相當好用,至於怎麼用,大家自行百度即可。
問題1:SElinux未關閉導致無法訪問,可以嘗試將selinux策略先行關閉。
#vim /etc/selinux/config
將SELINUX一欄設置為disable即可
問題2:filezilla打開時會報以下的錯誤
打開你的站點管理,點擊進入傳輸設置
按照圖中的配置配置傳輸模式,即可完成鏈接。
http://www.bkjia.com/Linuxjc/1195268.htmlwww.bkjia.comtrue