Vsftpd的安裝和配置。

2021-08-15 18:06:49 字數 2211 閱讀 8941

需要使用ftp來做伺服器,就選用了vsftpd來實現。安裝起來比較簡單,但是在過程中出現了幾個問題,為了防止以後使用,就記錄一下整個過程。

安裝首先本人使用的是ubuntu系統,安裝vsftpd直接使用命令即可:

sudo apt-get install vsftpd
安裝完成之後需要檢視對應的埠是否開放了,ftp使用的是21埠:

登陸。等待安裝完成之後,可以直接在本地進行登陸,登陸的命令如下:

ftp localhost
然後出出現輸入賬號密碼的介面,由於本人使用的是用來學習的虛擬機器,所以也沒有必要設定多個賬號,習慣性直接使用root從而減少一些許可權的問題。

但是當我輸入root的賬號和對應的密碼之後卻出現了如下的問題:

問題也就是:

331 please specify the password.

530 login incorrect.

說我登陸不正確,可是我能夠確定賬號和密碼都輸入無誤的,然後就查了查,在網上發現有人也出現了同樣的問題,但是他的解決辦法是直接刪除/etc/pam.d/vsftpd,裡面的解釋是:

因為ubuntu啟用了pam,所以在用到vsftpd的時候需要用到/etc/pam.d/vsftpd這個檔案,還說預設原始碼安裝的時候不會有這個檔案。所以才會導致除了匿名使用者外本地使用者無法登陸,然後就刪除了這個檔案,連線ftp出現 331 please specify the password 的解決辦法

我試了一下,將該檔案刪除之後確實能夠登陸的。但是後來想想不太對,既然是etc下面的檔案,也就是配置檔案,那麼它肯定有存在的道理,也不應該無緣無故的刪除。然後又解除安裝重灌,重新審視該問題。

現在我們知道了該問題是由pam導致的,但是什麼pam本人還不太清楚,然後大概的查了查資料,可以參考這篇文章:pam-linux可插拔認證模組的基本概念與架構

從中可以直到pam的全程是:可插拔認證模組(pluggable authentication module–pam)機制,可以讓使用者輕易在應用程式中插入新的認證模組或替換原先的元件。

那麼現在的思路就清楚了,在使用vsftpd的時候,ubuntu會啟用pam模組(至於使用原始碼安裝是否會啟用pam模組,本人並沒有實驗,因此不能確認),使用新的認證機制。然而使用了這個認證機制才導致了使用root使用者無法登陸,那麼我們就應該檢視一下這個認證機制究竟做了什麼,檢視/etc/pam.d/vsftpd檔案:

發現其中deny(拒絕),以及乙個檔案,嘗試這檢視這個/etc/ftpusers這個檔案:

對了,問題就在這,不允許訪問ftp的列表中竟然有root,然後將root刪除掉之後重新登陸,已經能夠登陸成功了:

而且還可以通過pam給ftp配置虛擬使用者。這篇文章關於vsftpd的介紹很全面:vsftpd,其中也有提到上述root使用者的問題,可惜是在解決之後才發現的,不然能剩下不少時間。

使用filezilla傳輸檔案。

既然解決了root登陸的問題,那麼接下來就開始使用vsftpd了,連線ftp的客戶端使用的是filezilla。

此時已經能夠連線成功了,雙擊本地的檔案進行上傳,但是上傳檔案的時候卻又出現了問題:

發現傳輸失敗了,此時還需要配置一下/etc/vsftpd.conf的一些內容,將有關檔案傳輸配置開啟:

配置完成之後需要儲存,並且重啟vsftpd:

service vsftpd restart

vsftpd 配置和安裝

vsftpd是乙個unix系統上的ftp服務軟體,其特點是小巧輕快 安全易用。採用一般身份啟動服務,對linux的使用許可權較低,降低了系統的安全風險。下面介紹一下vsftpd在centos系統上的安裝以及一些配置方法。安裝vsftpd並設定為開機啟動 123yum install vsftpd y...

vsftpd 的安裝和配置

上面兩件事完成,偷偷竊喜一下,卻還要把 war 包傳到伺服器,這個也不會。所以只能現學現賣,還好成功了。用的是ubuntu系統,版本為16.04,vsftpd 搭建步驟如下 第一步 apt get update 一定要先執行這條語句 不然後報錯!訪問源列表裡的每個 並讀取軟體列表,然後儲存在本地電腦...

vsftpd的安裝和配置

1 安裝vsftpd sudo apt get install vsftpd2 測試是否安裝成功 sudo service vsftpd restart 如果有反應即成功 3 徹底解除安裝vsftpd sudo apt get remove purge vsftpd4 在 home 下建立myftp...