小編給大家分享一下在Ubuntu中pure-ftpd是什么樣,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
目前創(chuàng)新互聯(lián)公司已為1000多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管運營、企業(yè)網(wǎng)站設(shè)計、柯橋網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
Pureftpd是一款快速,高質(zhì)量,功能齊全的ftp服務(wù)器,最重要的是可以支持設(shè)置客戶端默認(rèn)編碼,Ubuntu Server 10.04下pure-ftpd的配置過程如下。
在Ubuntu中pure-ftpd是什么樣
Ubuntu/Debian 提供了三個不同的 Pure-FTPd 的 deb 安裝包,分別是 pure-ftpd、pure-ftpd-ldap 和 pure- ftpd-MySQL,其中 ldap 和 mysql 分別表示 Pure-FTPd 跟 ldap 和 mysql 集成,另外這三個包都依賴于 pure-ftpd-common。如果我們不需要 ldap 和 mysql 的話,選擇 pure-ftpd 就可以了。
配置方式
不同于其他的多數(shù)守護進程(daemon),Pure-FTPd 的配置比較特別:它不讀取任何的配置文件,配置選項都是通過命令行參數(shù)來實現(xiàn)的。例如:參數(shù) '-H' 被設(shè)計為通過避免 DNS 查詢來加快服務(wù)器的速度。要啟用該特性,我們只需要將其加到命令行中: pure-ftpd -H 。備選的長參數(shù)也被支持的,下面是一個等價的命令 pure-ftpd --dontresolve
針對喜歡配置文件的用戶,Pure-FTPd 官方給出了一種方案:通過一個封裝(wrapper)工具,將配置文件解析并將其轉(zhuǎn)換成命令行參數(shù)。首先根據(jù)自己的需要編輯配置文件 pure-ftpd.conf,而后通過下面的命令啟動 pure-config.pl /etc/pure-ftpd.conf。pure-config.pl 是一個 perl 腳本,它根據(jù)配置文件采用合適的命令行選項來調(diào)用 pure-ftpd。
在 Ubuntu/Debian 中,開發(fā)人員采用了另外的一種 wrapper 方式:它沒有采用單一的配置文件,而是在/etc下建立一個pure-ftpd的目錄,其下又有 conf、auth、db 這三個目錄和一個名為 pureftpd-alias-dir 的文件。每一個配置選項都以一個文件的形式存在于 /etc/pure-ftpd/conf 目錄中,而且是以選項為文件名,選項值為文件內(nèi)容。例如如果想配置AnonymousOnly=yes(只允許匿名用戶),則在 /etc/pure-ftpd/conf 中創(chuàng)建一個名為 AnonymousOnly 的文件,里面只有一行內(nèi)容:yes。
在 Ubuntu 中,我們只關(guān)注***一種配置方式。
環(huán)境:
1,在一臺Ubuntu server 10.4 服務(wù)器上安裝pure-ftpd配置成FTP服務(wù)器
2,在客戶端上用FileZilla Client登錄測試
操作:
1,安裝pure-ftpd
#sudo apt-get install pure-ftpd
#sudo netstat –nl
查看21端口是否已開啟。
2,在FileZilla Client用本地一賬號登錄,會 出現(xiàn)如下錯誤
解決:在/etc/pure-ftpd/conf下創(chuàng)建DontResolve文件內(nèi)容為yes,即可解決。這時本地賬戶已經(jīng)可以使用FTP服務(wù)了。
3,利用虛擬賬戶的方式管理用戶。
(1)手動創(chuàng)建主目錄
#sudo mkdir /var/ftp #sudo mkdir /var/ftp/js
(2)創(chuàng)建組及用戶
#sudo groupadd ftpadmins #sudo groupadd ftpusers #sudo useradd –g ftpadmins –d /dev/null –s /bin/false ftpadmin #sudo useradd –g ftpusers –d /dev/null –s /bin/false js
(3)改變相應(yīng)的訪問權(quán)限
#sudo chown –R ftpadmin /var/ftp/ #sudo chmod -R 775 /var/ftp/js
*:為了防止同組中的一個用戶刪除另一個用戶的文件作以下設(shè)置
在/etc/pure-ftpd/conf下建KeepAllFiles文件內(nèi)容為yes #禁止用戶刪除文件,TrustedGID組中的除外
在/etc/pure-ftpd/conf下建TrustedGID文件內(nèi)容為2002 #管理員組ftpadmins的GID,允許管理員刪除文件,此處的2002是ftpadmins的GID
(4)增加虛擬用戶
#sudo pure-pw useradd admin –u ftpadmin –d /var/ftp #sudo pure-pw useradd js001 –u js –d /var/ftp/js
這時會在/etc/pure-ftpd/下新增pureftpd.passwd及pureftpd.pdb兩個文件
#sudo pure-pw list #sudo pure-pw show js001
用以上兩個命令查看相應(yīng)用戶信息,更多的pure-pw用法可以 man pure-pw查看
(5)使虛擬用戶生效
#sudo pure-pw mkdb
(6)使用pureDB驗證方式,如果沒有以下步驟,虛擬用戶是無法登錄的,會出現(xiàn)530的錯誤信息。
#cd /etc/pure-ftpd/auth #sudo ln –s ../conf/PureDB 60puredb
(7)重啟pure-ftpd服務(wù)
#sudo /etc/init.d/pure-ftpd restart
總結(jié):pure-ftpd配置完成了,簡單的一個FTP搭建起來了。
可是權(quán)限問題來了,在pure-ftpd的配置中沒有看到嚴(yán)格的權(quán)限設(shè)置,相關(guān)的有:
1,如果你的 pure-ftpd 編譯時加入了 pure-uploadscript 支持,這個指令將會使 pure-ftpd
發(fā)送關(guān)于新上傳的情況信息到 /var/run/pure-ftpd.upload.pipe,這樣 pure-uploadscript
就能讀然后調(diào)用一個腳本去處理新的上傳。
在/etc/pure-ftpd/conf下建CallUploadScript內(nèi)容為 yes 就會在/var/run下產(chǎn)生pure-ftpd.upload.pipe,pure-ftpd.upload.lock
這個方法我還沒試用。
2,KeepAllFiles=yes #禁止用戶刪除文件,TrustedGID組中的除外
TrustedGID=1001 #管理員組ftpadmins的GID,允許管理員刪除文件
ChrootEveryone=yes #把所有用戶限制在其homedir下
3,把虛擬用戶映射到不同的本地用戶上,這樣就可控制權(quán)限了。缺點是要建不同本地組和用戶。
以上是“在Ubuntu中pure-ftpd是什么樣”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!