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