用Pureftpd+PureDB建立一個簡單的Linux ftp網站
Pureftpd是一款快速,高質量,功能齊全的ftp服務器,最重要的是可以支持設置客戶端默認編碼,今天我給大家詳細介紹下:怎樣用Pureftpd+PureDB建立一個Linux ftp網站。
目的:
建一個有多個虛擬用戶的ftp站點,可匿名訪問,也可驗證訪問。匿名用戶只可下載可上傳。驗證用戶可下載,也可上傳。
虛擬用戶使用ftpgroup組的ftpuser帳戶訪問。
admin2帳戶不屬于ftpgroup組,而屬于管理員組admin2。
目錄結構:
1,pureftpd的數據文件存放目錄:/var/ftpd/*,屬主admin2,組admin2。
/var/ftpd/source/public [存放公共資料,匿名anonymous可訪問。權限:777]。
/var/ftpd/source [存放伙伴用戶群內交流的資料,伙伴用戶vuser可訪問,權限:777。]
/var/ftpd/home [存放管理員等高級人員的資料,管理用戶admin2可訪問,權限:755。]
2,pureftpd的可執行文件存放位置:/usr/local/pureftpd/*,屬主:root,組root。
/usr/local/pureftpd/etc/ 里面有“參數及配置文件夾”:etc;pureftpd自動生成的bin,man,sbin文件夾等
/usr/local/pureftpd/etc/ 有文件:ftpmsg(自創),pureftpd.log(自創),pure-ftpd.conf(從編譯中拷貝),pureftpd.pdb(程序自動生成),pureftpd.passwd(程序自動生成)。
用戶分配
虛擬用戶:包括anonymous、vuser、admin2。
匿名用戶:anonymous
可訪問資源:/var/ftpd/source/public/* [可訪問公共目錄下面的所有資料public/* ]
上傳:不允許
下載速率:受限
伙伴用戶:vuser
可訪問資源:/var/ftpd/source/* [可訪問群內用戶的所有資料,可創建、刪除子目錄,可創建、覆蓋文件:source/*,包括/source/public/*]
上傳:允許
上傳空間:受限
速率:受限
管理用戶:admin2
可訪問資源:/var/ftpd/* [可訪ftp所有資料,可創建、刪除子目錄,可創建、覆蓋文件:包括home/*,source/*,/source/public/*]
上傳:允許
上傳空間:受限
速率:不限
執行:
建立數據文件目錄、設置屬主、權限 :
代碼:
- #su
- #mkdir /var/ftpd
- #mkdir /var/ftpd/home
- #mkdir /var/ftpd/source
- #mkdir /var/ftpd/source/public
- #groupadd admin2
- #useradd admin2 -g admin2 -d /home/admin2 -s /bin/bash
- #passwd admin2
- #cd /var
- #chown -R admin2 ftpd
- #chgrp -R admin2 ftpd
- #chmod -R 755 ftpd
- #cd /var/ftpd
- #chmod -R 777 source
建立pureftpd的可執行文件目錄 :
代碼:
- #cd /usr
- #mkdir /usr/local/pureftpd
- #mkdir /usr/local/pureftpd/etc
- #mkdir /usr/local/pureftpd/temp ##安裝程序用的臨時目錄,用完后,可刪除
安裝pureftpd
下載: http://www.pureftpd.org
拷貝、解壓
代碼
- #cp pure-ftpd-1.0.21.tar.gz /usr/local/pureftpd/temp
- #cd /usr/local/pureftpd/temp
- #tar xzvf pure-ftpd-1.0.21.tar.gz
- #cd pure-ftpd-1.0.21
編譯
代碼:
- ./configure --prefix=/usr/local/pureftpd --with-everything --with-rfc2640
#注:
--prefix是安裝的目標目錄
--with-eyerything是安裝所有功能
--with-rfc2640,此參數UTF-8,gb2312等異構系統的語言集轉換
另外如果需要與mysql連接,修改提示語言等還需要在此指定,例如:
--with-mysql=/opt/mysql
--with-language=simplified-chinese
本文不涉及。
#p#
安裝
代碼:
- #make
- #make check
- #make install
2.3 配置pureftpd
拷貝配置文件到指定目錄
代碼:
- #chmod 755 configuration-file/pure-config.pl
- #cp configuration-file/pure-config.pl /usr/local/pureftpd/sbin/
- #cp configuration-file/pure-ftpd.conf /usr/local/pureftpd/etc/
- #cd /usr/local/pureftpd/etc/
- #gedit pure-ftpd.conf
pure-ftpd.conf全文注釋(附件中):
虛擬用戶公共帳號設置
代碼:
- #groupadd ftpgroup
- #useradd ftpuser -g ftpgroup -d /dev/null -s /etc
或:
- #mkdir /home/null
- #chmod 777 /home/null
- #useradd ftpuser -g ftpgroup -d /home/null -s /etc
添加ftp用戶,讓匿名支持:
#useradd ftp -g ftpgroup #添加一個用戶“ftp”必須是這個名,它與其它ftp用戶都從屬于上面的ftpgroup。
(如果ftp用戶已經存在,請修改ftp的默認組: #usermod -g ftpgroup ftp)
- #usermod -d /var/ftpd/source/public ftp #更改“ftp”這個用戶的主目錄。
- #chown ftp.ftpgroup /var/ftpd/source/public
虛擬用戶帳號設置
代碼:
- #cd /usr/local/pureftpd/bin
- #./pure-pw useradd vuser -u ftpuser -d /var/ftpd/source
- #./pure-pw useradd admin2 -u admin2 -d /var/ftpd
##說明:vuser是用戶名,-u ftpuser是其實際的linux用戶,-d指定起始目錄,并鎖定于該目錄。如果不鎖定,則用-D
##如果需要限制IP段的加上: -r 192.168.0.0/24
建立用戶數據庫
代碼:
- #./pure-pw mkdb /usr/local/pureftpd/etc/pureftpd.pdb
#說明:今后每添加或修改用戶數據庫都應該執行一次mkdb,執行后不需要重起ftp
啟動pureftpd
代碼:
- #/usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf
或設置執行文件pureftpd.sh為系統服務:
- # vi pureftpd.sh
內容:
- #!/bin/sh
- echo ""
- /usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf
然后:
- #chmod 755 pureftpd.sh
執行以下命令立即生效,#./pureftpd.sh
重新啟動系統,測試安裝效果。
通過文章的介紹和分析,我們利用Pureftpd+PureDB構建一個簡單又安全的Linux ftp網站,希望本文對大家有幫助!
【編輯推薦】