CentOS 7營運管理筆記(4)----安裝ftp伺服器

來源:互聯網
上載者:User

標籤:

 

在CentOS 7下安裝ftp伺服器,可以使區域網路內的主機擁有共用檔案的一個網站。

在Linux系統下,vsftp是一款應用比較廣泛的FTP軟體,其特點是小巧輕快,安全易用。目前在開源作業系統中常用的FTP軟體除了vsftp外,主要有proftpd、pureftpd和 wu-ftpd等。本篇隨筆記錄vsftp的安裝與配置。

注意:本隨筆所有操作均在VMware workstations虛擬機器中安裝的CentOS7 中進行,在進行操作前最好設定快照,這樣某一步出錯了還可以退回原來的狀態:

1.安裝vsftp:在root使用者下,輸入:

yum install -y vsftpd

查看安裝情況:

 

2.匿名FTP配置:

允許匿名使用者存取並上傳檔案,設定檔路徑一般為 /etc/vsftpd.conf, 如果是使用rpm 包安裝,設定檔位於 /etc/vsftpd/vsftpd.conf

(i) 安裝vsftpd後,該軟體會自動在/var目錄下產生/var/ftp/pub目錄,此/var/ftp 目錄即為匿名使用者預設訪問的目錄。因為在虛擬機器中拍攝了快照,所以可以通過轉到安裝vsfptd之前的快照的方式進行驗證 /var/ftp目錄為vsftpd軟體產生的。在虛擬機器中轉到安裝vsftpd軟體之前的快照狀態。輸入 

ls /var/ftp

顯示沒有該目錄。

然後再轉到安裝vsftpd後的快照,再次輸入同樣的命令,結果如下:

顯示該目錄下有pub檔案夾,該檔案夾當前為空白; 這足以說明 /var/ftp/ 和 /var/ftp/pub檔案夾為 vsftpd軟體安裝過程中自動產生的。

(ii)系統中當前會有 ftp使用者組和ftp使用者,博主已通過退回快照的方式驗證,該使用者和該使用者組並非由vsftpd軟體產生。所用命令為:

groups ftp

在兩個快照狀態下均顯示出ftp使用者屬於ftp使用者組。

將預設目錄賦予使用者ftp許可權以便可以上傳檔案。

該命令的意思是將 ftp使用者組中的所有使用者佈建為 /var/ftp/pub目錄的擁有者,使用 -R 參數的意義是使用 recursive方式,即pub目錄下的所有其他子目錄也都屬於ftp使用者組中的所有使用者。

 (iii)使用 

vim /etc/vsftpd/vsftpd.conf

命令,編輯 vsftpd的設定檔。

配置情況如下:

其中 

grep -v ^# filename

命令即是查看 filename 檔案中去除‘#‘注釋掉的內容後的有效內容。

關於紅色方框內的 chroot_local_user等選項的詳細解釋,參見:http://blog.csdn.net/bluishglc/article/details/42398811

(3)啟動FTP伺服器

(i)在啟動 vsftpd之前,查看連接埠狀態:

netstat -nptl

可以看到目前只有ipv4的53,22,631號連接埠和ipv6的22號連接埠正在Listen。

輸入

systemctl start vsftpd

啟動 vsftpd 服務.

再次輸入命令

netstat -ntpl 

可以看到21號連接埠已經啟動,這正是ftp的命令連接埠。(ftp的資料連接埠為20)。

(ii)使用虛擬機器中開啟的另一台Ubuntu串連CentOS7上的ftp服務:

顯示無法串連,這是因為沒有在伺服器的防火牆上開啟21號連接埠的緣故。

於是在CentOS7伺服器上編輯 iptables :

vim /etc/sysconfig/iptables

添加紅色方框中的兩行,開啟20和21號連接埠。(21號連接埠為ftp命令連接埠,20號連接埠為ftp資料連接埠)

 之前安裝iptables的時候,已經使用了如下的命令

systemctl disable firewalld  #禁止開機啟動 firewalldsystemctl stop firewalld      #停止運行firewalldsystemctl enable iptables    #開機啟動iptablessystemctl start iptables        #啟動iptables

當前,firewalld沒有啟動,iptables正在運行,在修改了 /etc/sysconfig/iptables檔案的情況下,應該重新啟動iptables

systemctl restart iptables

這時候再輸入

systemctl stop vsftpd
netstat -nptl

沒有開啟21號連接埠,那是因為已經關閉了vsftpd伺服器:

 啟動vsftpd伺服器並查看連接埠:

systemctl start vsftpd
netstat -nptl

vsftpd服務重新開啟了,且21號連接埠正在傾聽。以上現象說明連接埠傾聽與否只與服務運行與否有關,跟防火牆iptables中有沒有開放連接埠無關。

(iii)用Ubuntu串連CentOS 7上的 ftp服務:

串連成功!

4.用ftp上傳和下載檔案

(i)在串連的ftp命令列裡輸入 ls 命令:

顯示目前的目錄下有pub檔案夾,說明當前匿名使用者預設登陸的目錄是CentOS7伺服器上的/var/ftp目錄

(ii)上傳檔案:

cd pub

命令進入pub檔案夾

然後用

put filename.txt

命令上傳本地的filename.txt檔案

(注意:因為登陸ftp之前,Ubuntu所在目錄為 /home/username ,則此時 filename.txt 預設為Ubuntu上的 /home/username/filename.txt,也可以用絕對路徑指定檔案。可以用 lcd pathname 命令改變用戶端的目前的目錄)

結果:

顯示“533 Could not create file.”

在CentOS7 上使用如下命令更改 /var/ftp/pub檔案夾的許可權:

chmod 766 /var/ftp/pub

重啟vsftpd服務,在Ubuntu用戶端上串連,然後上傳檔案,結果還是顯示“533 Could not create file.”

網上搜尋原因,按照這個網頁的指示:http://www.111cn.net/sys/linux/45542.htm 在CentOS7伺服器上做如下設定:

在CentOS7伺服器上重啟 vsftpd服務,然後在Ubuntu上重新登入伺服器,這是還是預設登入進 /var/ftp目錄,一定要用 cd pub 命令轉換進pub目錄,再試試上傳檔案:

成功!

(iii)下載檔案:

在CentOS7伺服器上用

vim /var/ftp/pub/welcom.txt

命令建立一個檔案。

在Ubuntu上嘗試下載:

成功!

CentOS 7營運管理筆記(4)----安裝ftp伺服器

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

Tags Index: