步驟1:背景信息
為什么使用VSFTPD?
VSFTPD代表非常安全的FTP守護程序,所以我想這很明顯,對吧?老實說,我無法驗證它是否確實是目前最安全的FTP服務器,但是我可以告訴您的是它是輕量級的,具有非常低的功能,最重要的是沒有問題。請注意,根據您的發行版和執行的安裝類型,您很有可能已經擁有了它。在這種情況下,您顯然不需要重新安裝。
為什么使用Ubuntu?
從技術上講,不是我的計算機上安裝了Ubuntu,而是PepperMint。 PepperMint是Mint Linux的簡化版,后者又基于Ubuntu。我選擇Ubuntu的唯一原因是因為這是我過去使用過的并且我更加熟悉。如果您使用的是其他類型的Linux,那么按照此說明進行操作不會有任何問題。我將嘗試突出顯示您需要進行更改的所有部分。
先決條件
如果您已閱讀本文,我認為您使用計算機的目的不只是Farm ville。顯然需要有可用的Linux機器。如果您正在尋找基于Windows的解決方案,我會推薦FileZilla,它易于設置和維護。除此之外,您唯一需要的就是要使用的計算機上的Internet訪問。您可以選擇將FTP服務器設置為僅供內部使用,但在這種情況下,您將必須手動下載并安裝所需的軟件包。
免責聲明
設置FTP服務器(出于安全考慮)僅允許匿名訪問,只能下載。甚至系統管理員也不能在服務器上上傳內容。應使用其他方法將內容放在FTP目錄中。從理論上講,我將在這里向您展示的內容會損害您系統的安全性,因為我將創建一個具有上傳特權的用戶。盡管我已經采取了額外的預防措施以使其盡可能安全,但是如果您對安全性抱有偏執,請不要遵循這些說明。
步驟2:安裝
Linux中的軟件包含在我們稱為軟件包中。在這里,我將不做太多詳細介紹,有無數的地方可以閱讀。但是,如果有您不了解的地方或需要幫助的地方,請提出問題,我將盡力回答。
為此,您需要Internet訪問。如果要設置僅在LAN中使用的計算機,則必須使用另一臺可以訪問,手動下載和安裝軟件包的計算機。
在終端(控制臺-命令行)上,鍵入以下內容:
sudo apt-get install vsftpd
然后會要求您輸入密碼。輸入它,它將連接到互聯網并搜索您告訴它的包裹。一段時間后,它將告訴您確切打算安裝什么,并等待確認。按下鍵盤上的 Y ,等待安裝完成。
恭喜!您已經安裝了VSFTPD。
如果您使用的是其他發行版,則可能需要調整以上命令。例如,在Gentoo Linux中,出現了apt-get等效項,在Suse中,您使用zypper命令,依此類推。由于sudo可能不存在,您可能會想知道如何在自己的發行版中以root特權執行命令。
步驟3:創建FTP用戶。
我已經說過,FTP服務器的最安全配置是只允許匿名訪問而沒有寫權限。我們將偏離這一點。我們將創建兩個用戶,一個只能下載,另一個可以充當管理員,即上載和下載特權。請注意,這些用戶也將是系統用戶。因此,我們必須采取一些額外的步驟,以使整個過程變得更加安全。
首先,您必須確定FTP文件夾的位置。我選擇了/home/ftp。因此,在終端類型中:
sudo mkdir/home/ftp
現在,我們需要添加用戶,但首先要確保唯一新用戶可以登錄到我們的FTP服務器。每當您創建一個新的Linux用戶時,就為他分配一個將要使用的默認Shell。如果您不確定我在說什么,請花一點時間閱讀有關Shell的內容。使用您喜歡的編輯器,打開/etc/shells文件并添加一個不存在的文件。我將我的命名為“ dummy”,如下圖所示。
計劃是添加兩個FTP用戶,一個FTP用戶既具有寫訪問權,又具有讀取訪問權,而一個簡單的用戶只能下載文件。這樣,如果要讓您的朋友下載文件,則不必授予他對服務器的寫訪問權限。
在創建用戶之前,必須創建一個用戶所屬的組。 。默認情況下,Linux創建一個與用戶同名的用戶組,但是我們不希望這樣。因此,在終端類型中:
sudo groupadd ftp-users
現在我們可以添加用戶:
sudo useradd --home/home/ftp --group ftp用戶--shell/bin/dummy ftpadmin
sudo passwd ftpadmin 《為用戶提供密碼后,就完成了。對第二個用戶重復相同的過程。我命名為ftpguest。您可以選擇所需的任何名稱。嘗試使用您創建的任一新用戶登錄系統。如果您做對了所有事情,則應該無法登錄。
我們快完成了。我們只需要向用戶授予我們在上面創建的FTP目錄的正確權限。首先,我們將目錄的所有者從根目錄更改為ftpadmin:
sudo chown -R ftpadmin/home/ftp
然后:
sudo chmod 755/home/ftp
這兩個命令的結果是目錄所有者(ftpadmin)將擁有對該目錄及其中文件的完全訪問權限而世界其他地區則只能讀取訪問權限。執行ls -l,您應該會看到類似第三張圖片的畫面(這也使我忘記了對ls命令:P的正確切換)。
您可以在此處閱讀有關文件權限的更多信息。
步驟4:編輯配置文件
與Windows不同,Linux沒有注冊表文件。就我個人而言,我認為這是一種祝福,因為沒有諸如注冊表太大之類的事情,這意味著您的系統變慢且不穩定。每個程序都有自己的包含配置選項的文件。在這一步中,我們將對VSFTPD的配置文件進行一些調整。
我認為這很明顯,但是我必須指出,在開始使用它之前,我們需要首先進行復制,以防萬一出了問題。 。如果您發現自己經常弄亂配置文件,那么創建一個目錄來存儲所有這些文件的備份并不是一個壞主意。假設此目錄為/home/cfgbackup,請在終端中鍵入以下命令:
sudo cp/etc/vsftpd.conf/home/cfgbackup
現在,使用您喜歡的編輯器(您可能已經注意到,我更喜歡nano)打開vsftpd.conf。
令人難以置信的是,有許多設置可供您使用,我只會指出我所做的更改。
首先,請找到標有anonymous_enable的行,并確保其為 anonymous_enable = NO 。請注意,此處以#開頭的行是注釋,因此,刪除#時,您可以激活這些行(這稱為取消注釋)。 br》找到顯示local_enable的行,并將其更改為 local_enable = YES 。使用 write_enable 執行相同的操作。到目前為止,您已經禁止匿名用戶訪問服務器,并且僅允許系統用戶登錄。根據配置文件,每個用戶都具有寫權限,但是我們在上一步中已經處理了此權限,還記得嗎?
下一步是將我們的FTP用戶包含到其主目錄中。此方法稱為“ Root jail”,它使用chroot命令。檢查下面的圖片,并相應地更改您自己的文件。接下來的兩行是我添加的,因此不要嘗試在您自己的文件中找到它們(至少它們在我的文件中不存在)。添加它們以僅允許一部分用戶登錄到您的服務器。請注意,我們在此處聲明了文件名:vsftpd.chroot_list,由于該文件不存在,我們現在必須創建該文件。創建它并添加您創建的兩個用戶,每個用戶都在自己的行中。創建另一個名為vsftpd.user_list的文件,并在其中也添加這兩個用戶。這兩個文件都應該在/etc目錄中。
在終端中鍵入:
sudo服務vsftpd restart
新設置將生效您的新FTP服務器就可以使用了!
步驟5:結束語
您已經成功設置了自己的FTP服務器。它具有盡可能高的安全性(當然要考慮我們的要求),它使您可以從世界任何地方傳輸文件,與朋友共享文件以及更接近可怕的Linux終端。
看到配置文件中有關chroot的“警告”的警告,讓我告訴你,無論我多么努力地搜索,我發現的唯一內容是“如果有人知道他在做什么,他也許可以繞過它”,但是什么也沒有更加具體。我已經告訴過您,我們將偏離建議的FTP安全性明智使用,因此這是我愿意承擔的風險之一。
我在本指南中未涉及的唯一部分是如何訪問您的服務器是來自外部的,但基本上是從路由器轉發端口22(或在配置文件中選擇的端口),如果沒有靜態IP地址,則可能會設置一個動態dns帳戶。我敢肯定那里有很多關于如何執行此操作的教程,所以我在這里沒有包含這樣的說明。
責任編輯:wv
-
Linux
+關注
關注
87文章
11322瀏覽量
209870 -
vsftpd
+關注
關注
0文章
3瀏覽量
1733
發布評論請先 登錄
相關推薦
評論