麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 服務(wù)器 > Ftp服務(wù)器 > 正文

PureFTPd+Mysql+PHP_Manager實(shí)現(xiàn)虛擬用戶磁盤限額的配置方法

2024-09-09 20:58:53
字體:
供稿:網(wǎng)友
在安裝PureFTPd以前,要做好以下準(zhǔn)備工作:
1. 安裝FreeBSD4.9系統(tǒng)。
2. 定制內(nèi)核,在內(nèi)核中加入“options QUOTA”以實(shí)現(xiàn)用戶配額的支持(注:其他*nix系統(tǒng)如何實(shí)現(xiàn),請各位自己搜索實(shí)現(xiàn)。)
3. 安裝好APACHE+PHP平臺(tái),因?yàn)槲覀兒竺嬉肞HP_Manager實(shí)現(xiàn)用戶在線管理。(注:關(guān)于這個(gè)安裝的內(nèi)容網(wǎng)上有很多教程,在FreeBSD下可以直接用PORTS方式安裝就可以了。)
做好以上準(zhǔn)備工作之后,我們就可以開始進(jìn)入真正的安裝過程了。
(注:以下安裝全部采用PORTS方式安裝)
一、 安裝Mysql
我安裝的Mysql是4.0版本的,所以如果有最新大家也可以嘗試啊。

# cd /usr/ports/databases/mysql40-server
# make install clean

安裝完后產(chǎn)生啟動(dòng)腳本在 /usr/local/etc/rc.d/mysql-server.sh

你可以運(yùn)行以下命令,看Mysql服務(wù)是否已經(jīng)啟動(dòng)。

# ls | grep mysql

如果有返回信息,就表示Mysql已經(jīng)啟動(dòng)了,如果沒有啟動(dòng),運(yùn)行以下命令。

# cd /usr/local/etc/rc.d
# ./mysql-server.sh start

如果你要停止Mysql服務(wù)。

# /usr/local/etc/rc.d/mysql-server.sh stop

確認(rèn)服務(wù)啟動(dòng)后,我們來測試數(shù)據(jù)庫運(yùn)行是否正常:
(注:默認(rèn)情況下Mysql的用戶是root,密碼為空,所以請立即登錄Mysql修改root用戶的密碼)

# mysql

出現(xiàn)下面內(nèi)容表示運(yùn)行正常。

Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 16 to server version: 4.0.18
Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
mysql>
輸入exit退出Mysql。

為Mysql的root用戶設(shè)置一個(gè)口令123456

# mysqladmin -u root password ‘123456'

設(shè)置完后我們再來測試一下密碼是否生效了。

# mysql -u root -p
Enter password:

出現(xiàn)提示密碼,輸入正確密碼并回車。
如果出現(xiàn)以下內(nèi)容,表示設(shè)置成功。
Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 16 to server version: 4.0.18
Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
mysql>

如果出現(xiàn)以下內(nèi)容,表示設(shè)置失敗。(如果這樣,你就慘了,哈哈)

ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES)


二、 安裝PureFTPd
1.下面我們開始安裝PureFTPd,同樣以FreeBSD的Ports方式安裝。

# cd /usr/ports/ftp/pure-ftpd
# make WITH_MYSQL=1 / MYSQL數(shù)據(jù)庫支持
WITH_LANG=simplified-chinese / 提示文字為簡體中文
CONFIGURE_ARGS= /
' --prefix=/usr/local/pureftpd / 安裝目錄
--with-paranoidmsg / //唔....不知該怎么說.算是可以給特定人的信息吧.
--with-welcomemsg / //支持登錄后的信息顯示,我反正搞不定,哈哈
--with-uploadscript / //當(dāng)一個(gè)文件被完整上傳完后自動(dòng)呼叫某一script去對這個(gè)文件
處理.當(dāng)然.這個(gè)script得你自己寫.
--with-largefile / //支持下載超過2G的文件.
--with-cookie / //使用者進(jìn)站看到的東東.類似進(jìn)站畫面.
--with-virtualchroot / //安全的chroot.
--with-virtualhosts / //跟http的virtualhost有異曲同工之妙.
--with-virtualroot / //虛擬root支持
--with-diraliases / //跟Serv-U上面的link功能一樣.
--with-quotas / // 使用quota.(非系統(tǒng)下的quota)
--with-sysquotas / //允許使用操作系統(tǒng)的Quota(磁盤限額)
--with-ratios / //上下傳比率支持.
--with-ftpwho / //使用pure-ftpwho命令查看線上用戶.
--with-everything / // 所有功能全上.(自己看著辦吧)
--with-throttling' / //頻寬可設(shè)限.
install clean


安裝完后,就會(huì)在/usr/local目錄下生成一個(gè)pureftpd目錄,我們要使用的文件都在這個(gè)目錄中。

2.下面我們開始配置pure-ftpd.conf文件
在這里我全使用默認(rèn)值,只修改下面內(nèi)容以支持MYSQL。(注:Pureftpd可以同時(shí)支持ldap,mysql,pgsql,puredb認(rèn)證)

# MySQL configuration file (see README.MySQL)
MySQLConfigFile /usr/local/pureftpd/etc/pureftpd-mysql.conf

3.配置文件詳解(摘自網(wǎng)上陳景峰所著《Pure-FTPd + LDAP + MySQL + PGSQL + Virtual-Users + Quota How To》)
ChrootEveryone yes
chroot每一個(gè)用戶,等同于Proftpd 中的DefaultRoot~ , 可以限制用戶在某個(gè)地方活動(dòng),增強(qiáng)服務(wù)器的安全性。使用過wu-ftpd的使用都應(yīng)該知道cd /會(huì)發(fā)生什么!
TrustedGID 50
#以上兩者要一起用
BrokenClientsCompatibility no
MaxClientsNumber 50
#最大鏈接數(shù)
Daemonize yes
#Fork in background 以守護(hù)進(jìn)程方式在后臺(tái)運(yùn)行
MaxClientsPerIP 5
#每個(gè)ip最多鏈接數(shù),最好設(shè)小點(diǎn)。
VerboseLog no
#是否要把所有client端的指令都log下來
DisplayDotFiles no
#顯示開頭的文件
AnonymousOnly no
#是否只讓匿名登錄
NoAnonymous no
#不開放匿名登入
SyslogFacility ftp
#應(yīng)該是對日志做一下過濾 (auth, authpriv, daemon, ftp, security, user, local*)可以讓日志只記錄想要的信息
DontResolve yes
#不反向解釋客戶端的ip
MaxIdleTime 5
#最大閑置時(shí)間
#LDAPConfigFile /usr/local/pureftpd/etc/pureftpd-ldap.conf
#使用LDAP認(rèn)證,
MySQLConfigFile /usr/local/pureftpd/etc/pureftpd-mysql.conf
#使用MySQL認(rèn)證
#PGSQLConfigFile /usr/local/pureftpd/etc/pureftpd-pgsql.conf
#使用PGSQL認(rèn)證
#PureDB /ftp/etc/pureftpd.pdb
#使用者資料的DB存放地點(diǎn) [由于我是用PureFTPD的內(nèi)建DB.固有此選項(xiàng)]
#ExtAuth /var/run/ftpd.sock
#pure-authd socket 路徑 (詳細(xì)請看 README.Authentication-Modules)
#PAMAuthentication yes
#開啟PAM認(rèn)證
#UnixAuthentication yes
#如果你想要有簡單的Unix(/etc/passwd)的認(rèn)證的話
FortunesFile /usr/local/pureftpd/etc/.welcome
#顯示的歡迎信息文件,你可以創(chuàng)建該文件,輸入一些文字,然后你重啟你的FTP服務(wù),就會(huì)有意外的發(fā)現(xiàn)。
LimitRecursion 2000 8
#ls最多列出3000個(gè)文件.最深8層
AnonymousCanCreateDirs no
#匿名用戶可以創(chuàng)建目錄
MaxLoad 4
#當(dāng)system load超過4時(shí).使用者將不能再下載
PassivePortRange 30000 50000
#被動(dòng)連接應(yīng)答范圍
ForcePassiveIP 192.168.0.1
#不會(huì)譯:(
AnonymousRatio 1 10
#Anonymous連接上傳/下載比率
UserRatio 1 10
#用戶上傳/下載比率(注:如果使用ldap,mysql,pgsql,pam不要啟用該功能,否則你在ldap等中設(shè)置的Ratio無校)
AntiWarez no
#上傳的文件不能被下載(owner is ftp).等到local admin確認(rèn)
Bind 127.0.0.1,8021
#要綁定和ip/port,在你的系統(tǒng)中有兩個(gè)FTP Server這樣你其中一個(gè)FTP就要使用其它端口。
#格式-> 127.0.0.1,21 如果只寫port表All ip,port
AnonymousBandwidth 8
#Anonymous 帶寬,單位KB/s
UserBandwidth 8
#用戶帶寬,單位KB/s
Umask 133:022
#上傳文件的Umask.(<umask for files>:<umask for dirs> )
MinUID 1000
# UID至少多少才能登錄
AllowUserFXP yes
#支不支持FXP
AllowAnonymousFXP no
#Anonymous支不支持FXP
ProhibitDotFilesWrite no
ProhibitDotFilesRead no
#(”.”)開頭的文件能不能被讀/寫,UNIX Like下以點(diǎn)開頭的文件是隱藏文件ls –a才能列出
#Pureftpd Quota模式下做產(chǎn)生” .ftpquota”文件。
AutoRename no
#上傳文件若有相同文件名自動(dòng)改名(file.1,file.2...)
AnonymousCantUpload no
#匿名用戶上傳文件
TrustedIP 10.1.1.1
#鎖IP.
LogPID
#Log文件添加PID
AltLog stats:/ftp/etc/log/pureftpd.log
#log存放地點(diǎn),注日志有幾種常用的格式
#clf 類似apache格式,stats UNIX log格式,w3c 標(biāo)準(zhǔn)W3C格式,可能是HTML格式
NoChmod yes
#不給Chmod指令的權(quán)限
KeepAllFiles no
#使用者可續(xù)傳.但不可刪除文件
CreateHomeDir yes
#如果user的home不存在自動(dòng)建立(我把這個(gè)設(shè)為YES)
Quota 1000:10
#Quota <文件數(shù)>:<容量Megabytes >,F(xiàn)TP限制10M空間,可以上傳1000個(gè)文件(注:如果使用ldap,mysql,pgsql,pam不要啟用該功能,否則你在ldap等中設(shè)置的Quota無校)
PIDFile /ftp/etc/log/pure-ftpd.pid
#記錄pure-ftpd的PID文件
CallUploadScript yes
#呼叫UploadScript
MaxDiskUsage 99
#當(dāng)硬盤使用率到多少時(shí)將停止上傳
NoRename yes
#用戶不能重命名文件名
CustomerProof yes
PerUserLimits 3:20
#<每個(gè)賬號(hào)最多可登入幾次:Anonymous最多可同時(shí)登入幾次>

4. 創(chuàng)建Mysql數(shù)據(jù)庫中的FTP虛擬用戶管理數(shù)據(jù)庫ftpusers
將以下內(nèi)容存為script.mysql文件

INSERT INTO mysql.user (Host, User, Password, Select_priv, Insert_priv, Update
_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Proces
s_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv) VALUES
('127.0.0.1','ftp',PASSWORD('123456'),'Y','Y','Y','Y','N','N','N','N','N','N
','N','N','N','N');

FLUSH PRIVILEGES;

CREATE DATABASE ftpusers;

USE ftpusers;

CREATE TABLE admin (
Username varchar(35) NOT NULL default '',
Password char(32) binary NOT NULL default '',
PRIMARY KEY (Username)
) TYPE=MyISAM;

INSERT INTO admin VALUES ('Administrator',MD5('123456'));

CREATE TABLE users (
User char(16) NOT NULL default '',
Password char(32) binary NOT NULL default '',
Uid int(11) NOT NULL default '2000',
Gid int(11) NOT NULL default '2000',
Dir char(128) NOT NULL default '',
QuotaFiles int(10) NOT NULL default '500',
QuotaSize int(10) NOT NULL default '30',
ULBandwidth int(10) NOT NULL default '80',
DLBandwidth int(10) NOT NULL default '80',
status enum('0','1') NOT NULL default '1',
ipaccess varchar(15) NOT NULL default '*',
comment tinytext NOT NULL,
PRIMARY KEY (User),
UNIQUE KEY User (User)
) TYPE=MyISAM;

INSERT INTO `users` VALUES ('kevin',MD5('123456'),1001,2000,'/home/kevin',500,30,
80,5);

先在Mysql數(shù)據(jù)庫建立一個(gè)對數(shù)據(jù)庫有操作權(quán)限的用戶ftp,密碼為123456。
再創(chuàng)建新數(shù)據(jù)庫ftpusers,并新建兩個(gè)表admin和users,往admin表中加入管理用戶帳號(hào),往users表中加入新的FTP用戶kevin,密碼為123456。

然后我們運(yùn)行以下命令來生成數(shù)據(jù)庫ftpusers。

# mysql -u root -ppassword < script.mysql
注意,-p是輸入密碼,它和后面你輸入的password中沒有空格。

5.修改/usr/local/pureftpd/etc/pureftpd-mysql.conf配置文件
內(nèi)容如下所示:

MYSQLServer 127.0.0.1
#MYSQL服務(wù)器的IP
MYSQLPort 3306
#MYSQL 端口號(hào)
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 (注:如何開啟該選項(xiàng),MYSQLGetUID將失去作用)
MYSQLGetGID SELECT Gid FROM users WHERE User="/L"
#GID組ID字段
MYSQLDefaultGID 1000
#默認(rèn)的GID (注:如何開啟該選項(xiàng),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千個(gè)文件
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
#不會(huì)翻譯


修改好該配置文件后,我們繼續(xù)。

6.運(yùn)行PureFTPd
為了實(shí)現(xiàn)匿名登錄,需要在系統(tǒng)中加一個(gè)ftp用戶。

有了ftp.理所當(dāng)然得也要有賬號(hào)才行.
#vipw
ftp:*:2000:2000::0:0:ftp:/home/ftp:
/sbin/nologin
#vi /etc/group
ftpusers:*:2000:

操作完后我們就添加一個(gè)ftp帳號(hào)屬于ftpusers組,用戶id和組id都是2000

啟動(dòng)PureFTPd
# /usr/local/pureftpd/bin/pure-config.pl ../etc/pure-ftpd.conf

為了以后方便的進(jìn)行Ftp服務(wù)的管理,我自己在/usr/local/etc/rc.d中新建了一個(gè)pureftpd.sh文件。

# vi pureftpd.sh

#!/bin/sh

case "$1" in
start)
[ -x /usr/local/pureftpd/etc/pure-ftpd.conf ] && /
/usr/local/pureftpd/bin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.c
onf > /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

設(shè)置該文件的可執(zhí)行權(quán)限

# chmod u+x pureftpd.sh

以后可以用下列命令啟動(dòng)PureFTPd服務(wù)

# /usr/local/etc/rc.d/pureftpd.sh start

用下列命令停止PureFTPd服務(wù)

# /usr/local/etc/rc.d/pureftpd.sh stop

測試FTP是否正常了。
# ftp 你的IP
Connected to 127.0.0.1.
220---------- 歡迎來到 Pure-FTPd ----------
220-您是第1個(gè)使用者,最多可達(dá)50個(gè)連接
220-現(xiàn)在是本地時(shí)間 09:02。服務(wù)器端口: 21。
220 在15分鐘內(nèi)沒有活動(dòng),您將被斷線。
Name (127.0.0.1:kevin):kevin
Password:
230-使用者kevin 有以下組的權(quán)限: ftpusers
230-這個(gè)服務(wù)器支持FXP傳輸
230-OK. 目前限制的目錄是 /
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

恭喜你,你的FTP服務(wù)已經(jīng)正常工作了。

三、 使用PHP_Manager進(jìn)行用戶管理

下載最新的PHP_Manager軟件

# tar zxvf ftp_v1.3.1.tar.gz
# mv ftp_v1.3.1 /www/path/data/ftp
# cd /www/path/data/ftp
# vi config.php
修改config.php配置文件

$LANG = $ZH_CN; //你的PHP_Manager所用的語言
$DBHost = “l(fā)ocalhost”; //你的Mysql服務(wù)器的Host
$DBLogin = “ftp”; //登錄數(shù)據(jù)庫的用戶
$DBPassword = “123456”; //登錄數(shù)據(jù)庫的用戶密碼
$DBDatabase = “ftpusers”; //實(shí)現(xiàn)虛擬用戶管理的數(shù)據(jù)庫的名字
$FTPAddress = “61.132.35.21:21”; //你的FTP服務(wù)的IP地址和端口號(hào)

然后使用網(wǎng)頁方式登錄管理。

你的服務(wù)器域名/ftp

管理員是administrator,密碼是123456,這在前面建數(shù)據(jù)庫的時(shí)候可以修改的。
進(jìn)入之后全是中文,不要我多寫了吧。
祝大家快樂!

我已經(jīng)把PHP_Manager修改為支持中文的了,現(xiàn)傳上來給大家用。

?s=&postid=578136

有關(guān)其他系統(tǒng)下的安裝方法,可以參照陳景峰所著《Pure-FTPd + LDAP + MySQL + PGSQL + Virtual-Users + Quota How To》
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 欧美日韩精品一区二区三区蜜桃 | 精品国产乱码一区二区三区四区 | av免费在线网站 | 欧美亚洲综合在线 | 欧美××××黑人××性爽 | 成人毛片100部 | 中文字幕精品在线播放 | 性高跟鞋xxxxhd4kvideos | 国产精品视频二区不卡 | 日韩av电影免费在线观看 | 久久久精品视频免费看 | 日韩.www | 激情亚洲一区二区三区 | 密室逃脱第一季免费观看完整在线 | 亚州成人在线观看 | 91色综合综合热五月激情 | 免费一级欧美大片视频在线 | 韩国草草影院 | 看免费黄色大片 | 最新av在线播放 | 国产精品久久久久久久午夜片 | 一级黄色片武则天 | 色婷婷av一区二区三区久久 | 91av99 | 九九热在线视频免费观看 | 久草在线视频看看 | 羞羞网站在线看 | 久久国产精 | 天天透天天狠天天爱综合97 | 久久久久se | 亚洲成人黄色片 | 真人一级毛片免费 | 欧美日韩亚洲成人 | 久久影院国产精品 | 538任你躁在线精品视频网站 | 国产精品999在线观看 | 日韩精品久久久久久 | av免费在线观看国产 | 久久在线精品视频 | 伊人yinren22综合网色 | 91九色视频观看 |