如何使用Pure-FTPd +虛擬用戶安裝和配置FTP服務器

我是喜歡創新和學習新事物的人之一,不久前我不得不安裝和配置FTP服務器,因此我決定以不同於以往的方式進行操作。

在這種情況下,我選擇了使用虛擬用戶的FTP服務,這些用戶將存儲在加密文件(用戶,密碼,設置等)中,並且 純FTPd.

在這裡,我將向您展示如何做...好吧,讓我們開始吧😉

首先,指定本教程中的命令用於Debian等發行版或基於它們的發行版,但是,如果某人在其服務器上使用其他發行版,則他們必須安裝相同的軟件包並使用下面設置的設置,唯一需要更改的內容是安裝命令。

他們將讀取的所有命令都將以root用戶身份執行,如果您願意,可以在每行前添加“ sudo”。

1. 首先,我們必須安裝Pure FTPd:

apt-get install pure-ftpd

它將以以下形式結束輸出:

安裝純FTPD

2. 該服務已被激活,但是如果我們沒有正確配置它,對我們來說是沒有用的,讓我們放入一個廣泛的配置文件,但是它幾乎是標準的,它包含正常的內容,表明不允許匿名用戶,等等。

cd /etc/pure-ftpd/ && wget http://ftp.desdelinux.net/pure-ftpd.conf

3. 好吧,假設我們的FTP文件夾是/ var / www / ftp /,並且我們想要創建一個可以將信息上傳到/ var / www / ftp / ftp / sysadmin /文件夾的用戶,那麼請在終端中輸入以下內容:

pure-pw useradd sysadmin -u 2001 -g 2001 -d /var/www/ftp/sysadmin/

這意味著:

pure-pw:用於操作Pure-FTPd用戶的命令
useradd:我們表示將添加一個用戶
sysadmin:我要創建的用戶
-u 2001:該用戶的UserID
-g 2001:該用戶的GroupID
-d / var / www / ftp / sysadmin /:該文件夾將成為該用戶的家,即他們將要上傳內容的位置

輸入上一行時,它將詢問該用戶的密碼。

他們必須先前在/ var / www / ftp /中創建了sysadmin文件夾。

4. 現在,他們必須刷新用戶數據庫文件,為此,我們進入文件夾/ etc / pure-ftpd /(cd / etc / pure-ftpd)並放入終端:

pure-pw mkdb

5. 現在,我們必須啟動Pure-FTPd,但指示我們將使用虛擬用戶文件,首先讓我們停止該服務:

/etc/init.d/pure-ftpd stop

然後,我們將確保默認情況下它不會正常啟動:

chmod -x /etc/init.d/pure-ftpd

現在,我們以自己的方式啟動服務:

/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb

6. 如果他們嘗試使用Filezilla之類的應用程序,他們將看到他們可以與創建的用戶毫無問題地進行連接,但是他們將無法複製任何內容或創建目錄,這是因為文件夾/ var / www / ftp / ftp / sysadmin /(用戶的家根據示例)沒有適當的權限,它將通過以下方式修復:

chown -R 2001:2001 /var/www/ftp/sysadmin/

記住,Uid and Gid 2001是我們創建的用戶之一,我們在上一步3中使用命令創建了它。

7. 要停止服務,只需在同一終端上按[Ctrl] + [C]或執行以下操作:

killall pure-ftpd

現在,我們將指示該服務將在服務器啟動時自動從系統啟動,為此,我們修改了/etc/rc.local文件,並在最後一行“ exit 0”之前放置了用於啟動FTP服務的命令:

/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb

換句話說,它看起來像這樣:

rc-本地-純-ftpd

您可以使用nano,vi或首選的編輯器來編輯文件,或者,如果願意,可以復制並粘貼以下命令,以使工作更加輕鬆:

perl -pi -e "s[exit 0][/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb]g" /etc/rc.local && echo "exit 0" >> /etc/rc.local

...是是...正如您所讀,《促進》,它是一個廣泛的命令,是的,但這只是用perl和無害的迴聲替換文本🙂

8. 完成此操作後,重新啟動服務器,您將看到pure-ftpd服務已啟動並可以正常使用😀

如何刪除用戶?

就像我之前告訴你的 純pw 我們需要操縱用戶,刪除用戶(例如sysadmin),這是我們需要做的:

cd /etc/pure-ftpd/
pure-pw userdel sysadmin
pure-pw mkdb

請記住,每當對用戶進行更改時,都必須重新生成用戶的虛擬數據庫文件,該文件位於/ etc / pure-ftpd /中,並使用pure-pw mkdb生成/更新該文件。

無論如何,我認為朋友沒有什麼可添加的,請邀請您閱讀pure-pw的幫助,因為它可以為我們提供比我在這裡展示給您的更多的幫助(這只是一個簡短且基本的教程)。

一兩年前,我是將所有內容都鏈接到OpenLDAP或MySQL的人之一,但是隨著時間的流逝,我意識到與服務器這樣的數據庫之間的連接如此之多,產生了許多我們無法承受的消耗,因此,請使用完全可行的替代方法,例如在應用程序自己的文件中使用數據庫,例如Pure-FTPd .pdb🙂

如有任何疑問或疑問,我會盡力提供幫助。

問候和……快樂黑客!


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   拉夫 他說:

    那個..文件以防萬一出現錯誤😀

    1.    KZKG ^ Gaara 他說:

      而且我已經在寫關於如何安裝Nginx + MySQL + Spawn_FastCGI的帖子,就像我在《正義》中所做的那樣,而且,由於該博客運行得很好:)

      我希望為明天或後天做好準備。

  2.   魯道夫 他說:

    好帖子; 最近很可笑,我正努力把我的ftp服務器放在什至vsftpd都無法使用的地方,我去了純ftpd並走了,如果我認為我缺少的話,舉一個清晰的conf的例子,該文檔非常好,但是至少是基礎知識。 加密,或者至少在使用路由器的情況下為加密端口。
    通過此命令的方式,pure-ftpwho可以讓您知道是誰連接到服務器以及是否正在下載內容;)。
    根據您的說法,並不需要將數據庫連接到服務器。

    1.    KZKG ^ Gaara 他說:

      謝謝你的評論🙂

      是的,確實,我不得不解釋了配置中的許多事情(實際上都是如此),因為我假設有人知道如何管理服務器,想安裝FTP服務,因此有人在讀取conf文件的註釋時不會遇到大問題。 ^-^

      再次致以問候,感謝您的評論

  3.   塔胡里 他說:

    您好,非常好的帖子,我使用(或至少現在至少是)vsftpd,但是我有一些問題,我想看看是否發生了此事,您是否有任何網址或文檔來查看其配置?

    非常感謝 };)

    1.    KZKG ^ Gaara 他說:

      您可以在此處查看配置: http://ftp.desdelinux.net/pure-ftpd.conf
      如有任何疑問或您需要什麼,請在論壇中打開一個話題,我們很樂意為您提供幫助🙂

  4.   雅典娜 他說:

    很好😀

    只是一小件事,perl命令缺少^符號,因此它不會更改註釋中的另一個出口0:

    perl -pi -e "s[^exit 0][/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb]g" rc.local && echo "exit 0" >> rc.local

    問候

  5.   Conner 他說:

    太好了,我只是有一個問題,我該如何創建一個只讀用戶? 我使用Centos 6.5,pureftpd,ispconfig和圖形模式。

    我僅將ispconfig用於ftp

    saludosÿ格拉西亞斯

  6.   季風 他說:

    ASCO的這種安裝pureftp的方式是🙂使服務以root身份運行,創建虛擬用戶,然後更改文件系統的權限,等等。 軟件包的安裝方式可以立即使用,無需執行所有這些步驟

    1.    拉夫 他說:

      邀請您發布不太“令人反感”的指南。

    2.    塞德拉夫 他說:

      你有什麼建議? 將ftp服務器放在端口> 1024上偵聽? 如果ftp服務器正在其標準端口上監聽:22除非您修改內核的功能,否則它必須以root身份運行,如果要提高安全性,請使用帶有SELinux的MAC框架,另一種方法是將服務器監禁/ chroot FTP。

  7.   裁縫 他說:

    pure-ftpd.conf的鏈接已關閉或不存在。 你能恢復嗎?
    謝謝

  8.   附件 他說:

    2年後,pure-ftpd.conf文件的鏈接仍然關閉🙁