我是喜歡創新和學習新事物的人之一,不久前我不得不安裝和配置FTP服務器,因此我決定以不同於以往的方式進行操作。
在這種情況下,我選擇了使用虛擬用戶的FTP服務,這些用戶將存儲在加密文件(用戶,密碼,設置等)中,並且 純FTPd.
在這裡,我將向您展示如何做...好吧,讓我們開始吧😉
首先,指定本教程中的命令用於Debian等發行版或基於它們的發行版,但是,如果某人在其服務器上使用其他發行版,則他們必須安裝相同的軟件包並使用下面設置的設置,唯一需要更改的內容是安裝命令。
1. 首先,我們必須安裝Pure FTPd:
apt-get install pure-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 /:該文件夾將成為該用戶的家,即他們將要上傳內容的位置
輸入上一行時,它將詢問該用戶的密碼。
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
換句話說,它看起來像這樣:
您可以使用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🙂
如有任何疑問或疑問,我會盡力提供幫助。
問候和……快樂黑客!
那個..文件以防萬一出現錯誤😀
而且我已經在寫關於如何安裝Nginx + MySQL + Spawn_FastCGI的帖子,就像我在《正義》中所做的那樣,而且,由於該博客運行得很好:)
我希望為明天或後天做好準備。
好帖子; 最近很可笑,我正努力把我的ftp服務器放在什至vsftpd都無法使用的地方,我去了純ftpd並走了,如果我認為我缺少的話,舉一個清晰的conf的例子,該文檔非常好,但是至少是基礎知識。 加密,或者至少在使用路由器的情況下為加密端口。
通過此命令的方式,pure-ftpwho可以讓您知道是誰連接到服務器以及是否正在下載內容;)。
根據您的說法,並不需要將數據庫連接到服務器。
謝謝你的評論🙂
是的,確實,我不得不解釋了配置中的許多事情(實際上都是如此),因為我假設有人知道如何管理服務器,想安裝FTP服務,因此有人在讀取conf文件的註釋時不會遇到大問題。 ^-^
再次致以問候,感謝您的評論
您好,非常好的帖子,我使用(或至少現在至少是)vsftpd,但是我有一些問題,我想看看是否發生了此事,您是否有任何網址或文檔來查看其配置?
非常感謝 };)
您可以在此處查看配置: http://ftp.desdelinux.net/pure-ftpd.conf
如有任何疑問或您需要什麼,請在論壇中打開一個話題,我們很樂意為您提供幫助🙂
很好😀
只是一小件事,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
問候
太好了,我只是有一個問題,我該如何創建一個只讀用戶? 我使用Centos 6.5,pureftpd,ispconfig和圖形模式。
我僅將ispconfig用於ftp
saludosÿ格拉西亞斯
ASCO的這種安裝pureftp的方式是🙂使服務以root身份運行,創建虛擬用戶,然後更改文件系統的權限,等等。 軟件包的安裝方式可以立即使用,無需執行所有這些步驟
邀請您發布不太“令人反感”的指南。
你有什麼建議? 將ftp服務器放在端口> 1024上偵聽? 如果ftp服務器正在其標準端口上監聽:22除非您修改內核的功能,否則它必須以root身份運行,如果要提高安全性,請使用帶有SELinux的MAC框架,另一種方法是將服務器監禁/ chroot FTP。
pure-ftpd.conf的鏈接已關閉或不存在。 你能恢復嗎?
謝謝
2年後,pure-ftpd.conf文件的鏈接仍然關閉🙁