Pureftpd安裝文檔
Pureftpd安裝文檔如下:
需要的軟件
pure-ftpd-1.0.21.tar.gz
pureftpd_php_manager.tar.gz
全面設(shè)置
tar zvxf pure-ftpd-1.0.21.tar.gz
cd pure-ftpd-1.0.21
#./configure --prefix=/usr/local/pureftpd --with-mysql=/usr/local/mysql --with-paranoidmsg
--with-shadow --with-welcomemsg --with-uploadscript --with-quotas --with-cookie --with-pam
--with-virtualhosts --with-virtualroot --with-diraliases --with-sysquotas --with-ratios
--with-ftpwho --with-throttling --with-language=simplified-chinese
make
make check
make install
cd configuration-file
chmod u+x pure-config.pl
cp pure-config.pl /usr/local/sbin/
cp pure-ftpd.conf /usr/local/etc/
vi /usr/local/etc/pure-ftpd.conf
按你的需要編輯pure-ftpd.conf
-------------------------------------
- # Cage in every user in his home directory
- # 限制每個用戶到自己的根目錄
ChrootEveryone yes
- # Disallow anonymous connections. Only allow authenticated users.
- # 取消anonymous用戶
NoAnonymous yes
- # MySQL configuration file (see README.MySQL)
- # pureftpd-mysql.conf文件的位置
MySQLConfigFile /usr/local/etc/pureftpd-mysql.conf
CreateHomeDir yes
-------------------------------------
tar zvxf pureftpd_php_manager.tar.gz
cd pureftpd_php_manager
mv pureftpd-mysql.conf.sample /usr/local/etc/pureftpd-mysql.conf
cd ..
cp -R pureftpd_php_manager /home/www/pureftpd_php_manager
cd /home/www/pureftpd_php_manager
vi pureftp.config.php
按照你的需要修改里面的設(shè)置代碼:
-------------------------------------------------------------------------------------
// 設(shè)置pureftpd-mysql.conf的位置,這個要注意,不要寫錯哦
$PUREFTP_CONFIG_FILE = '/usr/local/etc/pureftpd-mysql.conf';
// The location where all the Forms directed to. (Mayby no change needed)
$SELF_URL = 'index.php';
// The location of your pure-ftpdwho binary (set this to chmod 4711)
$FTP_WHO = "/usr/local/sbin/pure-ftpwho";
$DefaultUser = "ftpuser"; # 默認(rèn)用戶
$DefaultPass = ""; # 默認(rèn)初始用戶密碼
$DefaultUid = "2002"; # 默認(rèn)的uid(設(shè)置為ftpusers的uid)
$DefaultGid = "2002"; # 默認(rèn)的gid(設(shè)置為ftpusers的gid)
$DefaultDir = "/var/ftproot/ftpusershome"; # 默認(rèn)的用戶主目錄
$DefaultUL = "0"; # 默認(rèn)用戶上傳速率限制(KB/S)
$DefaultDL = "0"; # 默認(rèn)用戶下載速率限制(KB/S)
$Defaultip = "*"; # 設(shè)置用戶可以從哪些IP登陸
$DefaultQS = "50"; # 用戶默認(rèn)的quota
$Defaultcmt = ""; # 默認(rèn)備注信息
$DefaultQF = "0"; # 默認(rèn)文件數(shù)目quota
$PWC = "55"; # Vorsatz fuerr Crypt Password
-------------------------------------------------------------------------------------
增加用戶組及用戶
- #groupadd ftpusers -g 2002
- #useradd ftp -u 2002 -g ftpusers -s /sbin/nologin
刪除多余的東西
rm -f history.txt pureftpd-mysql.conf.sample
如果要投入真實的使用,最好用apache做身份驗證!
在mysql中添加FTP用戶數(shù)據(jù)庫
代碼:
CREATE TABLE ftpd (
User varchar(16) NOT NULL default '',
status enum('0','1') NOT NULL default '0',
Password varchar(64) NOT NULL default '',
Uid varchar(11) NOT NULL default '-1',
Gid varchar(11) NOT NULL default '-1',
Dir varchar(128) NOT NULL default '',
ULBandwidth smallint(5) NOT NULL default '0',
DLBandwidth smallint(5) NOT NULL default '0',
comment tinytext NOT NULL,
ipaccess varchar(15) NOT NULL default '*',
QuotaSize smallint(5) NOT NULL default '0',
QuotaFiles int(11) NOT NULL default 0,
PRIMARY KEY (User),
UNIQUE KEY User (User)
) TYPE=MyISAM;
#p#
-----------------------------加密pureftpd_php_manager目錄-----------------------------
因為我們是放到網(wǎng)上執(zhí)行的﹐所以你肯定不想每個人都跑去看你FTP用戶吧﹗
我一般采用HTPASSWD驗證﹐具體請這樣子做﹐仍用我前面的例子﹕
我的pureftpd_php_manager目錄位于 /home/onlinecq.com/pureftpd_php_manager目錄﹐我需要在apache的虛
擬主機(jī)那一小節(jié)添加如下內(nèi)容﹕
- deny from all
- Options None
- AllowOverride AuthConfig
- Order deny,allow
這樣﹐若有人想進(jìn)入該目錄﹐必須通過apache驗證﹐保證我們的安全(不是絕對安全)
cd /home/www/pureftpd_php_manager
再進(jìn)入pureftpd_php_manager的目錄﹐使用vi建立一個.htaccess的認(rèn)證文件﹕
vi .htaccess
內(nèi)容如下﹕
- AuthType Basic
- AuthUserFile /usr/www/bin/pureftpd.passwd
- AuthName pureftpd
- require valid-user
- satisfy any
存盤退出后﹐我們就可以使用htpasswd命令添加允許進(jìn)入的該目錄的用戶了﹗
cd /usr/www/bin/
進(jìn)入該目錄
./htpasswd -bc pureftpd.passwd ltsnet 980405
這樣將會在你的當(dāng)前目錄﹐創(chuàng)建一個pureftpd.passwd的身份驗證文件﹐用戶名是ftp﹐密碼是123654﹐你可以
改為你自己需要。
好了﹐看起來差不多了﹐麻煩你重新啟動一下APACHE測試一下﹐如果一下順利﹐那祝賀你﹐一切成功了﹗
------------------編輯/usr/local/etc/pureftpd-mysql.conf --------------------------
vi /usr/local/etc/pureftpd-mysql.conf
將剛才在mysql中新建的用戶和密碼加入其中,選項很簡單,只要注意不要輸錯
MYSQLServer 127.0.0.1
#MYSQL服務(wù)器的IP
MYSQLPort 3306
#MYSQL 端口號
MYSQLSocket /var/lib/mysql/mysql.sock
#使用UNIX.sock本地連接
注:MYSQLServer 與 MYSQLSocket 選擇一種即可
MYSQLUser ftp
#MYSQLUser 數(shù)據(jù)用戶名
MYSQLPassword 123456
#MYSQL數(shù)據(jù)庫用戶的密碼
MYSQLDatabase ftpusers
#FTP數(shù)據(jù)數(shù)據(jù)庫
MYSQLCrypt md5
#密碼加密方式"cleartext", "crypt", "md5" and "password"
# cleartext 明文,crypt,md5,password是Backend password(‘your-passwd’)函數(shù)(MYSQL數(shù)據(jù)庫所使用的
password()函數(shù))
MYSQLGetPW SELECT Password FROM users WHERE User="L"
# 密碼字段,我使用users表中的Password做為密碼字段
MYSQLGetUID SELECT Uid FROM users WHERE User="L"
#UID用戶ID字段
MYSQLDefaultUID 1000
#默認(rèn)的UID (注:如何開啟該選項,MYSQLGetUID將失去作用)
MYSQLGetGID SELECT Gid FROM users WHERE User="L"
#GID組ID字段
MYSQLDefaultGID 1000
#默認(rèn)的GID (注:如何開啟該選項,MYSQLGetGID將失去作用)
MYSQLGetDir SELECT Dir FROM users WHERE User="L"
#FTP用戶目錄如/home/web/www-9812-net
MySQLGetQTAFS SELECT QuotaFiles FROM users WHERE User="L"
#磁盤限額,文件數(shù)限制。如1000,允許用戶上傳1千個文件
MySQLGetQTASZ SELECT QuotaSize FROM users WHERE User="L"
#磁盤限額,F(xiàn)TP用戶空間限制(單位為M),如:100M
MySQLGetRatioUL SELECT ULRatio FROM users WHERE User="L"
MySQLGetRatioDL SELECT DLRatio FROM users WHERE User="L"
#上傳/下載比率。MySQLGetRatioUL為上傳比,MySQLGetRatioDL下載比。如:1:5
MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User="L"
MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User="L"
#下傳/下載帶寬(單位KB/s)。MySQLGetBandwidthUL上傳帶寬,MySQLGetBandwidthDL下載帶寬。如上傳
500KB/s,下載50KB/s
MySQLForceTildeExpansion 1
MySQLTransactions On
啟動
#/usr/local/sbin/pure-config.pl /usr/local/etc/pure-ftpd.conf
添加一個用戶,然后用FTP客戶端登陸試試,ok!
--------------------------------------自動啟動(1)----------------------------------
pureftp支持多種啟動方式,俺采用了最容易的一種:
vi /etc/rc.d/rc.local
添加
cd /usr/local/pureftpd/sbin
./pure-ftpd -A -B -C 1 -c 50 -E -G -I 2 -l unix -l puredb:/usr/local/pureftpd/pureftpd.pdb -p
40000:50000 -R -w
-------------------------------------啟動腳本(2)這種好用----------------------------------
在/usr/local/etc/rc.d中建一個pureftpd.sh
chmod u+x pureftpd.sh
就可以:/usr/local/etc/rc.d/pureftpd.sh start
/usr/local/etc/rc.d/pureftpd.sh stop
#!/bin/sh
case "$1" in
start)
[ -x /usr/local/etc/pure-ftpd.conf ] &&
/usr/local/sbin/pure-config.pl /usr/local/etc/pure-ftpd.conf > /dev/null &&
echo -n ' pure-ftp'
;;
stop)
killall pure-ftpd > /dev/null &&
echo -n ' pure-ftp'
;;
*)
echo "Usage: `basename $0` {start | stop}" >&2
;;
esac
exit 0
通過閱讀上面的文章,我們可以知道了Pureftpd安裝文檔,希望你們有幫助!
【編輯推薦】
- 中文解釋PureFTPd配置文件
- PureFTPd displayrate()遠(yuǎn)程拒絕服務(wù)攻擊漏洞
- PureFTPd Accept_Client遠(yuǎn)程拒絕服務(wù)漏洞
- Freebsd下使用PureFTPd
- Pureftpd安裝配置簡明說明