【圖文教程】雲服務器上,Linux安裝VSFTPD組件及遇到的問題 好文章推薦

服務器做遷移,從AXX雲遷移到Txx雲上,遷移的話,需要把圖片服務器也遷移過去。之前使用的是VSFTPD這次也還用這個吧。這裏就記錄下FTP服務器安裝及遇到的問題。

1:安裝VSFTP組件

使用yum命令安裝。安裝命令如下:

<pre class="brush:as3;toolbar:false" style="margin: 0.5em 0px; padding: 0.4em 0.6em; border-radius: 8px; background: rgb(248, 248, 248);">yum -y install vsftpd
</pre>

安裝完成之後,會在/etc目錄下多出一個vsftp目錄。如下圖:

2:創建ftp服務端對應的用戶

我們知道,ftp服務器,可能會提供出去(雖然凱哥這裏不會提供出去),給其他的三方人員使用,從數據及服務器安全角度來考慮,我們給ftp服務一個單獨的用戶。這個用戶就是用來登錄ftp服務器使用的。

用戶可以任意。這裏咱們就把這個用戶叫ftpuser吧,Linux添加用戶的命令公式:useradd 用戶名。那麼,咱們就套用公式,對應的添加用戶命令就是:

<pre class="brush:as3;toolbar:false" style="margin: 0.5em 0px; padding: 0.4em 0.6em; border-radius: 8px; background: rgb(248, 248, 248);">useradd ftpuser
</pre>

給新添加的用戶ftpuser添加密碼。Linux給某個用戶添加密碼的命令公式:passwd 用戶名。所以,咱們套用這個添加用戶的公式後命令就是:

<pre class="brush:as3;toolbar:false" style="margin: 0.5em 0px; padding: 0.4em 0.6em; border-radius: 8px; background: rgb(248, 248, 248);">passwd ftpuser
</pre>

輸入兩次密碼後,就修改密碼成功了。

這樣一用戶就新建完成了。創建之後,就可以使用這個用戶名及密碼登錄。登錄後默認的訪問路徑就是:/home/ftpuser

3:開放對應的端口

因爲這裏使用的是雲服務器,就找到對應的安全策略組,把21和22端口放開就可以了。

在對應的服務器詳情中,找到安全組A某雲)或者找到防火牆(T某雲),因爲凱哥這裏使用的是T某雲。所以就如下圖所示了。點擊添加規則就可以了。

如果是自己本地的,可以把防火牆的21和22端口打開。這裏就不贅述了。

4:selinux的修改

一般是新服務器的話,selinux是自動關閉的。沒有開啓狀態。使用下面的命令:

<pre class="brush:bash;toolbar:false" style="margin: 0.5em 0px; padding: 0.4em 0.6em; border-radius: 8px; background: rgb(248, 248, 248);">getsebool -a |grep ftp
</pre>

可以看到,SElinux isdisabled。

如果你的服務器上,SElinux是開啓的,可能會出現,外網可以訪問,沒目錄返回,且也上傳不了。這就是SElinux的原因。處理辦法:

在執行完上面命令後,如果返回結果中,看到上圖高亮的兩個是off的話,就代表,沒有開啓外網訪問。使用下面命令:

<pre class="brush:as3;toolbar:false" style="margin: 0.5em 0px; padding: 0.4em 0.6em; border-radius: 8px; background: rgb(248, 248, 248);">setsebool -P allow_ftpd_full_access on
setsebool -P ftp_home_dir on
</pre>

將這兩個設置爲on。

5:vsftpd.conf的配置

關閉匿名訪問權限

在/etc/vsftpd/vsftpd.conf文件中找到:anonymous_enable=YES。將這個YES修改成NO。

修改之後,重啓ftp服務。重啓命令:

<pre class="brush:as3;toolbar:false" style="margin: 0.5em 0px; padding: 0.4em 0.6em; border-radius: 8px; background: rgb(248, 248, 248);">service vsftpd restart
</pre>

6:啓動被動模式

這個被動默認是開啓的。但是,被動的端口,可能是隨機的。所以,我們需要指定一個端口範圍。同樣,在vsftp.conf文件中修改。在這個文件的最後面加上:

<pre class="brush:as3;toolbar:false" style="margin: 0.5em 0px; padding: 0.4em 0.6em; border-radius: 8px; background: rgb(248, 248, 248);">pasv_min_port=30000
pasv_max_port=30999
</pre>

這個端口範圍,可以隨意指定,需要注意,1:不能和其他端口衝突;2:添加完成之後,記得重啓vsftp服務。

因爲新增加了端口範圍,所以,同樣需要在安全組策略或者防火牆將對應端口打開。

7:將VSFTPD的FTP服務設置成開機啓動

如果,你不行,服務器重啓之後,FTP服務就不能訪問,或者每次重啓服務器之後,都需要手動啓動VSFTPD的話,可以將VSFTPD設置成隨機啓動的。使用命令:

<pre class="brush:as3;toolbar:false" style="margin: 0.5em 0px; padding: 0.4em 0.6em; border-radius: 8px; background: rgb(248, 248, 248);">chkconfig vsftpd on
</pre>

8:驗證

以上幾步操作完整之後,可以進行驗證了。在ftp目錄下添加一個jpg文件。然後通過ip或者是配置了Nginx反向代理的話,可以通過域名或者Nginx的ip訪問試試。

大家好,我是凱哥Java(kaigejava),樂於分享技術文章,歡迎大家關注“凱哥Java”或“kaigejava”,及時瞭解更多。讓我們一起學Java。也歡迎大家有事沒事就來和凱哥聊聊~~~

在操作時候,遇到的問題如下:

①:使用代碼上傳

正常情況下,默認是21端口。如果21端口上傳不了,你可以切換成22端口試試。

②:圖片上傳後,訪問不了:

修改/etc/vsftpd/ftpuser

ftpusers裏面是ftp默認拒絕的用戶,如果要想系統用戶,就把這個用戶從ftpusers文件中刪除。

在這裏要注意,不要把/etc/pam.d/vsftpd裏面的deny改成allow,不然你自己建立的用戶就會報530 Login incorrect

好文章推薦

自定義註解系列教程

docker系列教程

分佈式相關

凱哥推薦

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章