ftp部署及使用

 

經常使用軟件安裝及使用目錄 html

 

http://www.jb51.net/article/106604.htm
 

ftp部署

本篇文章主要介紹了CentOS7.0下安裝FTP服務的方法,小編以爲挺不錯的,如今分享給你們,也給你們作個參考。一塊兒跟隨小編過來看看吧

一個小插曲,安裝一個FTP服務,便於和遠程服務器的文件溝通。後續咱們會講到如何使用Capistrano配合git完成服務器的代碼部署以及發佈流程。如今,代碼先走FTP吧,挺穩。linux

FTP簡介nginx

FTP 是File Transfer Protocol(文件傳輸協議)的英文簡稱,而中文簡稱爲「文傳協議」。git

在FTP的使用當中,用戶常常遇到兩個概念:"下載"(Download)和"上傳"(Upload)。"下載"文件就是從遠程主機拷貝文件至本身的計算機上;"上傳"文件就是將文件從本身的計算機中拷貝至遠程主機上。vim

用Internet語言來講,用戶可經過客戶機程序向(從)遠程主機上傳(下載)文件。windows

FTP安裝centos

首先檢查一下你的遠程服務器是否已經安裝了FTP服務。api

?
1
#rpm -qa | grep vsftpd

若是啥都沒顯示,恭喜你,沒有安裝ftp服務,你能夠安心的進行下面的動做了。若是有vsftpd的版本,跳過這一步!瀏覽器

那咱們首先安裝vsftpd。安全

vsftpd 是「very secure FTP daemon」的縮寫,安全性是它的一個最大的特色。vsftpd 是一個 UNIX 類操做系統上運行的服務器的名字,它能夠運行在諸如 Linux、BSD、Solaris、 HP-UNIX等系統上面,是一個徹底免費的、開放源代碼的ftp服務器軟件,支持不少其餘的 FTP 服務器所不支持的特徵。

運行下面的命令就能夠完成vsftpd的安裝

?
1
#yum -y install vsftpd

安裝完成再次利用上面的rpm命令檢查一下是否完成安裝,若是完成安裝,那就能夠繼續。

開啓vsftpd服務

?
1
#service vsftpd start

在centos 中使用 systemctl start vsftpd

檢查vsftpd服務

?
1
#service vsftpd status

 

注意,ftp服務使用的是21端口,有時候也使用20端口。咱們以前設置的iptables防火牆服務阻止了這一端口,因此也要添加下面的代碼到/etc/sysconfig/iptables裏去。

?
1
A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT

重啓防火牆服務

?
1
#systemctl restart iptables.service

好的,到這裏,咱們的默認ftp服務就已經開始運做啦,讓咱們來測試一下吧。

?
1
#ftp localhost

用戶名稱那一欄輸入anonymous(匿名)

獲得下面的信息就標識你的vsftp服務安裝已完成。

 

 

在ftp>後面輸入bye,先暫時和ftp告別,由於咱們還有一些事沒幹呢。

配置vsftpd服務

打開vsftpd服務的配置文件

?
1
#vim /etc/vsftpd/vsftpd.conf

改變這幾個屬性的值,具體是啥意思呢,當chroot_list_enable=YES,chroot_local_user=YES時,在/etc/vsftpd.chroot_list文件中列出的用戶,能夠切換到其餘目錄;未在文件中列出的用戶,不能切換到其餘目錄。爲了之後好控制,咱們先打開這幾個配置。

保存退出,咱們新建一個chroot_list文件

?
1
#touch /etc/vsftpd/chroot_list

重啓vsftp服務

?
1
#service vsftpd restart

新增ftp用戶

?
1
#/usr/sbin/adduser -d /usr/www/ftptest -g ftp -s /sbin/nologin vftpuser

新增用戶vftpuser,用戶的主目錄是/usr/www/ftptest目錄,用戶組是ftp,不能登陸的帳戶。

設置vftpuser密碼

?
1
#passwd vftpuser

修改/usr/www/ftptest的目錄權限

?
1
#chmod 755 /usr/www/ftptest/

重啓vsftp服務

?
1
#/sbin/service vsftpd restart

設置權限

查看SElinux策略內ftp相關權限

?
1
#getsebool -a | grep ftp

打開ftp權限

?
1
#setsebool allow_ftpd_full_access 1

重啓vsftp服務

?
1
#/sbin/service vsftpd restart

如今,能夠在本機ftp遠程服務器啦。

將vsftpd卸載(yum remove vsftpd)後,結果以下:

從新安裝後又能使用vftpuser用戶在電腦本地鏈接了。

 

問題1:SElinux未關閉致使沒法訪問,能夠嘗試將selinux策略先行關閉。

?
1
#vim /etc/selinux/config

將SELINUX一欄設置爲disable便可

 ftp使用

在window下按window + r可打開DOS命令窗口,而後就能夠輸入FTP命令了。
1. 登陸FTP服務器
     方法一:直接輸入ftp加ip地址ftp 192.168.10.xxx
     方法二:直接輸入ftp,進入ftp服務後輸入open加ip地址open 192.168.10.xxx
     當鏈接成功後會讓你進行身份驗證,在輸入密碼時屏幕上沒有任何顯示,不用管,直接輸完密碼敲回車鍵便可。

2. 查看FTP服務器上的文件
 (通常狀況下用戶都會被限制目錄的訪問權限,只可在當前目錄下進行操做)
     dir:顯示服務器目錄和文件列表
     ls:顯示服務器簡易的文件列表
     cd:進入服務器指定的目錄
dir命令可使用通配符「」和「?」,好比,顯示當前目錄中全部擴展名爲jpg的文件,可以使用命令 dir .jpg。
cd命令中必須帶目錄名。好比 cd main 表示進入當前目錄下的main子目錄
3. 下載文件
     上傳和下載文件時應該使用正確的傳輸類型,FTP的傳輸類型分爲ASCII碼方式和二進制方式兩種,對.txt、.htm等文件應採用ASCII碼方式傳輸,對.exe或圖片、視頻、音頻等文件應採用二進制方式傳輸。在默認狀況下,FTP爲ASCII碼傳輸方式。
     type:查看當前的傳輸方式
     ascii:設定傳輸方式爲ASCII碼方式
     binary:設定傳輸方式爲二進制方式 
     (以上命令都不帶參數)
     get:下載指定文件get filename [newname](filename爲下載的FTP服務器上的文件名,newname爲保存在本都計算機上時使用的名字,若是不指定newname,文件將以原名保存。
get命令下載的文件將保存在本地計算機的工做目錄下。該目錄是啓動FTP時在盤符C:後顯示的目錄。若是想修改本地計算機的工做目錄,可使用 lcd 命令。好比:lcd d:\ 表示將工做目錄設定爲D盤的根目錄。
mget:下載多個文件mget filename [filename ....](mget命令支持通配符「」和「?」,好比:mget .mp3 表示下載FTP服務器當前目錄下的全部擴展名爲mp3的文件。)
4. 上傳文件
 put:上傳指定文件put filename [newname]
 send:上傳指定文件send filename [newname]
 (filename爲上傳的本地文件名,newname爲上傳至FTP服務器上時使用的名字,若是不指定newname,文件將以原名上傳。)
上傳文件前,應該根據文件的類型設置傳輸方式,本機的工做目錄也應該設置爲上傳文件所在的目錄。
這裏的send和put方法用法都基本相同,可是上傳速度send卻要比put快不少,有興趣的人能夠去研究下。
 5. 結束並退出FTP
 close:結束與服務器的FTP會話
 quit:結束與服務器的FTP會話並退出FTP環境
 6. 其它FTP命令
 pwd:查看FTP服務器上的當前工做目錄
 rename filename newfilename:重命名FTP服務器上的文件
 delete filename:刪除FTP服務器上的文件
 help[cmd]:顯示FTP命令的幫助信息,cmd是命令名,若是不帶參數,則顯示全部FTP命令
 

cmd鏈接ftp服務端的實例,ls,dir,put,get使用


Microsoft Windows [版本 10.0.17134.590] (c) 2018 Microsoft Corporation。保留全部權利。 C:\Users\89723>cd C:\ali\kong #切換目錄到筆記本客戶端的工做目錄,隨便建立的一個目錄 C:\ali\kong>ftp 192.168.132.5 鏈接到 192.168.132.5220 (vsFTPd 2.2.2) 200 Always in UTF8 mode. 用戶(192.168.132.5:(none)): vftpuser 331 Please specify the password. 密碼: 230 Login successful. ftp> dir 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. -rw-r--r-- 1 0 0 4 Feb 23 15:05 mcw.txt 226 Directory send OK. ftp: 收到 68 字節,用時 0.00秒 22.67千字節/秒。 ftp> ls #ls顯示服務器ftp的用戶主目錄內容 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. mcw.txt 226 Directory send OK.
用戶vftpuser,用戶的主目錄是/usr/www/ftptest目錄
ftp: 收到 12 字節,用時 0.00秒 12000.00千字節/秒。
ftp> get mcw.txt bmcw.txt #get下載,bmcw.txt是新文件名,缺省爲不改原文件名
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for mcw.txt (4 bytes).
226 Transfer complete.
ftp: 收到 4 字節,用時 0.00秒 4.00千字節/秒。

 

ftp> put bxiaoma.txt xiaoma.txt             #put將筆記本客戶端文件上傳到ftp服務端,xiaoma.txt爲新文件名,缺省是不改文件名。
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp: 發送 10 字節,用時 0.00秒 10.00千字節/秒。

 

 

 

 
 

 get,mget的使用

 
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
1.txt
2.txt
3.txt
4.txt
mcw.txt
xiaoma.txt
226 Directory send OK.
ftp: 收到 52 字節,用時 0.02秒 2.89千字節/秒。
ftp> get 1.txt 2.txt                                          #get 同時兩個文件,只下載了第二個文件
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for 1.txt (0 bytes).
226 Transfer complete.
ftp> mget 1.txt 3.txt 4.txt                                      #mget三個文件,每一個下載前都提示輸入y,有交互。
200 Switching to ASCII mode.
mget 1.txt? y
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for 1.txt (0 bytes).
226 Transfer complete.
mget 3.txt? y
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for 3.txt (0 bytes).
226 Transfer complete.
mget 4.txt? y
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for 4.txt (0 bytes).
226 Transfer complete.

 pwd,cd命令

ftp> pwd                                                                 #顯示所在的服務器端的目錄
257 "/usr/www/ftptest"
ftp> cd mcw                                 #切換目錄
250 Directory successfully changed.
ftp> pwd
257 "/usr/www/ftptest/mcw"
ftp> cd /root/                            #訪問ftp服務端家目錄之外的目錄失敗
550 Failed to change directory.

rename,delete命令 

ftp> ls
mcw01.txt
mcw02.txt
ftp> rename mcw01.txt  mcw_modify.txt
350 Ready for RNTO.
250 Rename successful.
ftp> ls
mcw02.txt
mcw_modify.txt
ftp> delete mcw02.txt
250 Delete operation successful.
ftp> ls
mcw_modify.txt

 

/etc/vsftpd/vsftpd.conf配置文件詳解

安裝後在etc目錄會有vsftpd文件夾存在,須要配置vsftpd.conf配置文件   
#進入vsftpd配置文件    
vim /etc/vsftpd/vsftpd.conf     
# 禁止匿名用戶anonymous登陸    
anonymous_enable=NO    
# 容許本地用戶登陸    
local_enable=YES    
# 讓登陸的用戶有寫權限(上傳,刪除)    
write_enable=YES    
# 默認umask    
local_umask=022    
# 把傳輸記錄的日誌保存到/var/log/vsftpd.log    
xferlog_enable=YES    
xferlog_file=/var/log/vsftpd.log    
xferlog_std_format=NO    
# 容許ASCII模式上傳    
ascii_upload_enable=YES     
# 容許ASCII模式下載    
ascii_download_enable=YES    
# 使用20號端口傳輸數據    
connect_from_port_20=YES    
# 歡迎標語    
ftpd_banner=Welcome to use my test ftp server.    
# 接下來的三條配置很重要    
# chroot_local_user設置了YES,那麼全部的用戶默認將被chroot,    
# 也就用戶目錄被限制在了本身的home下,沒法向上改變目錄。    
# chroot_list_enable設置了YES,即讓chroot用戶列表有效。    
# ★超重要:若是chroot_local_user設置了YES,那麼chroot_list_file    
# 設置的文件裏,是不被chroot的用戶(能夠向上改變目錄)    
# ★超重要:若是chroot_local_user設置了NO,那麼chroot_list_file    
# 設置的文件裏,是被chroot的用戶(沒法向上改變目錄)    
chroot_local_user=YES    
chroot_list_enable=YES    
# touch /etc/vsftpd/chroot_list 新建    
chroot_list_file=/etc/vsftpd/chroot_list    
use_localtime=YES    
# 以standalone模式在ipv4上運行    
listen=YES    
# PAM認證服務名,這裏默認是vsftpd,在安裝vsftpd的時候已經建立了這個pam文件,    
# 在/etc/pam.d/vsftpd,根據這個pam文件裏的設置,/etc/vsftpd/ftpusers    
# 文件裏的用戶將禁止登陸ftp服務器,好比root這樣敏感的用戶,因此你要禁止別的用戶    
# 登陸的時候,也能夠把該用戶追加到/etc/vsftpd/ftpusers裏。    
pam_service_name=vsftpd

 

 

ftp瀏覽器訪問,windows軟件訪問

將ftp根目錄用rsync+inotify同步到開啓auto的站點目錄下。

(思考:是否能夠Windows客戶端鏈接到ftp服務器主目錄,在將主目錄實時同步到nginx開啓auto的站點目錄下,就能夠有人直接下載文件了呢。能夠用這種方法將我電腦上要共享的文件放到個人ecs上,給出別人一個連接去下載。)

 window下安裝FTP服務器

ftp客戶端在windows上的安裝以及使用

一、在控制面板-程序-啓用或關閉Windows功能-點擊開啓tftp客服端

 

 

 

二、訪問ftp服務器默認的主目錄/var/ftp/

 

在ftp服務端建立文件mcw02.txt,在Windows的ftp客戶端會刷新出來

 

 以前的主目錄是ftp用戶組裏一個用戶的家目錄,而不是ftp服務器端默認的主目錄

 三、Windows客戶端用戶登錄

 

 

 3.1在主目錄中右擊選擇新建文件夾報錯權限問題

3.2右擊屬性可看到以下信息

 3.2右擊讓後選擇登錄,輸入用戶密碼

3.3進入ftp用戶組對應的一個用戶的家目錄下。

3.4在ftp服務端建立一個文件mcw.txt,在Windows客戶端能夠刷新出來。在Windows客戶端右擊而後能夠建立文件夾,在ftp服務的能夠看到目錄生成了。

 3.5右擊文件和文件夾,點擊複製到筆記本另外一個文件夾,能夠成功下載ftp服務端文件到筆記本。

3.6複製電腦本地文件或文件夾,粘貼到Windows客戶端的目錄下,就能將它們傳輸到ftp服務器對應用戶的家目錄。

 3.7訪問目錄下的文件,會以瀏覽器的方式打開。而且須要登錄。(訪問失敗,有時間再看這個問題,怎麼解決)

 

 四、下載Windows版的ftp客戶端軟件,鏈接ftp服務器

 

 

安裝好軟件進行鏈接ftp服務器

成功鏈接到遠程ftp,並列出用戶vftpuser的家目錄文件。

雙擊文件就完成複製。

 

 

 問題彙總

問題一:防火牆阻擋,425 Failed to establish connection.

ftp> dir
200 PORT command successful. Consider using PASV.
425 Failed to establish connection.

  

 

 

 

參考:

https://blog.csdn.net/qq_38526635/article/details/82147980

https://blog.csdn.net/renliang01/article/details/79327251

相關文章
相關標籤/搜索