仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 726|回复: 8
打印 上一主题 下一主题

[其他Linux] 来看看:PureFTPd+Mysql+PHP_Manager完成假造用户磁盘限额的设置办法

[复制链接]
只想知道 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 16:43:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
写学习日记,这是学习历程的见证,同时我坚持认为是增强学习信念的法宝。以上是我学习Linux的心得体会,希望对大家的学习有所帮助,由于水平有限,本文难免有所欠缺,望请指正。
在安装PureFTPd之前,要做好以下筹办事情:
1.安装FreeBSD4.9体系。
2.定制内核,在内核中到场“optionsQUOTA”以完成用户配额的撑持(注:其他*nix体系怎样完成,请列位本人搜刮完成。)
3.安装好APACHE+PHP平台,由于我们前面要用PHP_Manager完成用户在线办理。(注:关于这个安装的内容网上有良多教程,在FreeBSD下能够间接用PORTS体例安装就能够了。)
做好以上筹办事情以后,我们就能够入手下手进进真实的安装历程了。
(注:以下安装全体接纳PORTS体例安装)
1、安装Mysql
我安装的Mysql是4.0版本的,以是假如有最新人人也能够实验啊。

#cd/usr/ports/databases/mysql40-server
#makeinstallclean

安装完后发生启动剧本在/usr/local/etc/rc.d/mysql-server.sh

你能够运转以下命令,看Mysql服务是不是已启动。

#ls|grepmysql

假如有前往信息,就暗示Mysql已启动了,假如没有启动,运转以下命令。

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

假如你要中断Mysql服务。

#/usr/local/etc/rc.d/mysql-server.shstop

确认服务启动后,我们来测试数据库运转是不是一般:
(注:默许情形下Mysql的用户是root,暗码为空,以是请当即登录Mysql修正root用户的暗码)

#mysql

呈现上面内容暗示运转一般。

WelcometotheMySQLmonitor.Commandsendwith;org.
YourMySQLconnectionidis16toserverversion:4.0.18
Typehelp;orhforhelp.Typectoclearthebuffer.
mysql>
输出exit加入Mysql

Mysql的root用户设置一个口令123456

#mysqladmin-urootpassword‘123456

设置完后我们再来测试一下暗码是不是失效了。

#mysql-uroot-p
Enterpassword:

呈现提醒暗码,输出准确暗码并回车。
假如呈现以下内容,暗示设置乐成。
WelcometotheMySQLmonitor.Commandsendwith;org.
YourMySQLconnectionidis16toserverversion:4.0.18
Typehelp;orhforhelp.Typectoclearthebuffer.
mysql>

假如呈现以下内容,暗示设置失利。(假如如许,你就惨了,哈哈)

ERROR1045:Accessdeniedforuser:root@localhost(Usingpassword:YES)


2、安装PureFTPd
1.上面我们入手下手安装PureFTPd,一样以FreeBSD的Ports体例安装。

#cd/usr/ports/ftp/pure-ftpd
#makeWITH_MYSQL=1MYSQL数据库撑持
WITH_LANG=simplified-chinese提醒笔墨为简体中文
CONFIGURE_ARGS=
--prefix=/usr/local/pureftpd安装目次
--with-paranoidmsg//唔....不知该怎样说.算是能够给特定人的信息吧.
--with-welcomemsg//撑持登录后的信息显现,我归正弄不定,哈哈
--with-uploadscript//当一个文件被完全上传完后主动呼唤某一script往对这个文件
处置.固然.这个script得你本人写.
--with-largefile//撑持下载凌驾2G的文件.
--with-cookie//利用者进站看到的东东.相似进站画面.
--with-virtualchroot//平安的chroot.
--with-virtualhosts//跟http的virtualhost有殊途同归之妙.
--with-virtualroot//假造root撑持
--with-diraliases//跟Serv-U下面的link功效一样.
--with-quotas//利用quota.(非体系下的quota)
--with-sysquotas//同意利用操纵体系的Quota(磁盘限额)
--with-ratios//高低传比率撑持.
--with-ftpwho//利用pure-ftpwho命令检察线上用户.
--with-everything//一切功效全上.(本人看着办吧)
--with-throttling//频宽可设限.
installclean


安装完后,就会在/usr/local目次下天生一个pureftpd目次,我们要利用的文件都在这个目次中。

2.上面我们入手下手设置pure-ftpd.conf文件
在这里我全利用默许值,只修正上面内容以撑持MYSQL。(注:Pureftpd能够同时撑持ldap,mysql,pgsql,puredb认证)

#MySQLconfigurationfile(seeREADME.MySQL)
MySQLConfigFile/usr/local/pureftpd/etc/pureftpd-mysql.conf

3.设置文件详解(摘自网上陈景峰所著《Pure-FTPd+LDAP+MySQL+PGSQL+Virtual-Users+QuotaHowTo》)
ChrootEveryoneyes
chroot每个用户,同等于Proftpd中的DefaultRoot~,能够限定用户在某个中央举动,加强服务器的平安性。利用过wu-ftpd的利用都应当晓得cd/会产生甚么!
TrustedGID50
#以上二者要一同用
BrokenClientsCompatibilityno
MaxClientsNumber50
#最年夜链接数
Daemonizeyes
#Forkinbackground以保卫历程体例在背景运转
MaxClientsPerIP5
#每一个ip最多链接数,最好设小点。
VerboseLogno
#是不是要把一切client真个指令都log上去
DisplayDotFilesno
#显现开首的文件
AnonymousOnlyno
#是不是只让匿名登录
NoAnonymousno
#不开放匿名登进
SyslogFacilityftp
#应当是对日记做一下过滤(auth,authpriv,daemon,ftp,security,user,local*)可让日记只纪录想要的信息
DontResolveyes
#不反向注释客户真个ip
MaxIdleTime5
#最年夜闲置rg
#LDAPConfigFile/usr/local/pureftpd/etc/pureftpd-ldap.conf
#利用LDAP认证,
MySQLConfigFile/usr/local/pureftpd/etc/pureftpd-mysql.conf
#利用MySQL认证
#PGSQLConfigFile/usr/local/pureftpd/etc/pureftpd-pgsql.conf
#利用PGSQL认证
#PureDB/ftp/etc/pureftpd.pdb
#利用者材料的DB寄存地址[因为我是用PureFTPD的冉DB.固有此选项]
#ExtAuth/var/run/ftpd.sock
#pure-authdsocket路径(具体请看README.Authentication-Modules)
#PAMAuthenticationyes
#开启PAM认证
#UnixAuthenticationyes
#假如你想要有复杂的Unix(/etc/passwd)的认证的
FortunesFile/usr/local/pureftpd/etc/.welcome
#显现的接待信息文件,你能够创立该文件,输出一些笔墨,然后你重启你的FTP服务,就会成心外的发明。
LimitRecursion20008
#ls最多列出3000个文件.最深8层
AnonymousCanCreateDirsno
#匿名用户能够创立目次
MaxLoad4
#当systemload凌驾4r.利用者将不克不及再下载
PassivePortRange3000050000
#主动毗连应对局限
ForcePassiveIP192.168.0.1
#不会译:(
AnonymousRatio110
#Anonymous毗连上传/下载比率
UserRatio110
#用户上传/下载比率(注:假如利用ldap,mysql,pgsql,pam不要启用该功效,不然你在ldap等中设置的Ratio无校)
AntiWarezno
#上传的文件不克不及被下载(ownerisftp).比及localadmin确认
Bind127.0.0.1,8021
#要绑定和ip/port,在你的体系中有两个FTPServer如许你个中一个FTP就要利用别的端口。
#格局->127.0.0.1,21假如只写port表Allip,port
AnonymousBandwidth8
#Anonymous带宽,单元KB/s
UserBandwidth8
#用户带宽,单元KB/s
Umask133:022
#上传文件的Umask.(<umaskforfiles>:<umaskfordirs>)
MinUID1000
#UID最少几才干登录
AllowUserFXPyes
#支不撑持FXP
AllowAnonymousFXPno
#Anonymous支不撑持FXP
ProhibitDotFilesWriteno
ProhibitDotFilesReadno
#(”.”)开首的文件能不克不及被读/写,UNIXLike下以点开首的文件是埋没文件lsCa才干列出
#PureftpdQuota形式下做发生”.ftpquota”文件。
AutoRenameno
#上传文件如有不异文件名主动更名(file.1,file.2...)
AnonymousCantUploadno
#匿名用户上传文件
TrustedIP10.1.1.1
#锁IP.
LogPID
#Log文件增加PID
AltLogstats:/ftp/etc/log/pureftpd.log
#log寄存地址,注日记有几种经常使用的格局
#clf相似apache格局,statsUNIXlog格局,w3c尺度W3C格局,多是HTML格局
NoChmodyes
#不给Chmod指令的权限
KeepAllFilesno
#利用者可续传.但不成h除文件
CreateHomeDiryes
#假如user的home不存在主动创建(我把这个设为YES)
Quota1000:10
#Quota<文件数>:<容量Megabytes>,FTP限定10M空间,能够上传1000个文件(注:假如利用ldap,mysql,pgsql,pam不要启用该功效,不然你在ldap等中设置的Quota无校)
PIDFile/ftp/etc/log/pure-ftpd.pid
#纪录pure-ftpd的PID文件
CallUploadScriptyes
#呼唤UploadScript
MaxDiskUsage99
#当硬盘利用率到几r将中断上传
NoRenameyes
#用户不克不及重定名文件名
CustomerProofyes
PerUserLimits3:20
#<每一个账号最多可登进几回:Anonymous最多可同r登进几回>

4.创立Mysql数据库中的FTP假造用户办理数据库ftpusers
将以下内容存为script.mysql文件

INSERTINTOmysql.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);

FLUSHPRIVILEGES;

CREATEDATABASEftpusers;

USEftpusers;

CREATETABLEadmin(
Usernamevarchar(35)NOTNULLdefault,
Passwordchar(32)binaryNOTNULLdefault,
PRIMARYKEY(Username)
)TYPE=MyISAM;

INSERTINTOadminVALUES(Administrator,MD5(123456));

CREATETABLEusers(
Userchar(16)NOTNULLdefault,
Passwordchar(32)binaryNOTNULLdefault,
Uidint(11)NOTNULLdefault2000,
Gidint(11)NOTNULLdefault2000,
Dirchar(128)NOTNULLdefault,
QuotaFilesint(10)NOTNULLdefault500,
QuotaSizeint(10)NOTNULLdefault30,
ULBandwidthint(10)NOTNULLdefault80,
DLBandwidthint(10)NOTNULLdefault80,
statusenum(0,1)NOTNULLdefault1,
ipaccessvarchar(15)NOTNULLdefault*,
commenttinytextNOTNULL,
PRIMARYKEY(User),
UNIQUEKEYUser(User)
)TYPE=MyISAM;

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

先在Mysql数据库创建一个对数据库有操纵权限的用户ftp,暗码为123456。
再创立新数据库ftpusers,并新建两个表admin和users,往admin表中到场办理用户帐号,往users表中到场新的FTP用户kevin,暗码为123456。

然后我们运转以下命令来天生数据库ftpusers。

#mysql-uroot-ppassword<script.mysql
注重,-p是输出暗码,它和前面你输出的password中没有空格。

5.修正/usr/local/pureftpd/etc/pureftpd-mysql.conf设置文件
内容以下所示:

MYSQLServer127.0.0.1
#MYSQL服务器的IP
MYSQLPort3306
#MYSQL端标语
MYSQLSocket/var/lib/mysql/mysql.sock
#利用UNIX.sock当地毗连
注:MYSQLServer与MYSQLSocket选择一种便可

MYSQLUserftp
#MYSQLUser数据用户名
MYSQLPassword123456
#MYSQL数据库用户的暗码
MYSQLDatabaseftpusers
#FTP数据数据库
MYSQLCryptmd5
#暗码加密体例"cleartext","crypt","md5"and"password"
#cleartext明文,crypt,md5,password是Backendpassword(‘your-passwd)函数(MYSQL数据库所利用的password()函数)
MYSQLGetPWSELECTPasswordFROMusersWHEREUser="L"
#暗码字段,我利用users表中的Password做为暗码字段
MYSQLGetUIDSELECTUidFROMusersWHEREUser="L"
#UID用户ID字段
MYSQLDefaultUID1000
#默许的UID(注:怎样开启该选项,MYSQLGetUID将得到感化)
MYSQLGetGIDSELECTGidFROMusersWHEREUser="L"
#GID组ID字段
MYSQLDefaultGID1000
#默许的GID(注:怎样开启该选项,MYSQLGetGID将得到感化)
MYSQLGetDirSELECTDirFROMusersWHEREUser="L"
#FTP用户目次如/home/web/www-9812-net
MySQLGetQTAFSSELECTQuotaFilesFROMusersWHEREUser="L"
#磁盘限额,文件数限定。如1000,同意用户上传1千个文件
MySQLGetQTASZSELECTQuotaSizeFROMusersWHEREUser="L"
#磁盘限额,FTP用户空间限定(单元为M),如:100M
MySQLGetRatioULSELECTULRatioFROMusersWHEREUser="L"
MySQLGetRatioDLSELECTDLRatioFROMusersWHEREUser="L"
#上传/下载比率。MySQLGetRatioUL为上传比,MySQLGetRatioDL下载比。如:1:5
MySQLGetBandwidthULSELECTULBandwidthFROMusersWHEREUser="L"
MySQLGetBandwidthDLSELECTDLBandwidthFROMusersWHEREUser="L"
#下传/下载带宽(单元KB/s)。MySQLGetBandwidthUL上传带宽,MySQLGetBandwidthDL下载带宽。如上传500KB/s,下载50KB/s
MySQLForceTildeExpansion1
MySQLTransactionsOn
#不会翻译


修正好该设置文件后,我们持续。

6.运转PureFTPd
为了完成匿名登录,必要在体系中加一个ftp用户。

有了ftp.天经地义得也要有账号才行.
#vipw
ftp:*:2000:2000::0:0:ftp:/home/ftp:
/sbin/nologin
#vi/etc/group
ftpusers:*:2000:

操纵完后我们就增加一个ftp帐号属于ftpusers组,用户id和组id都是2000

启动PureFTPd
#/usr/local/pureftpd/bin/pure-config.pl../etc/pure-ftpd.conf

为了今后便利的举行Ftp服务的办理,我本人在/usr/local/etc/rc.d中新建了一个pureftpd.sh文件。

#vipureftpd.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-npure-ftp


stop)
killallpure-ftpd>/dev/null&&
echo-npure-ftp


*)
echo"Usage:`basename$0`{start|stop}">&2

esac

exit0

设置该文件的可实行权限

#chmodu+xpureftpd.sh

今后能够用以下命令启动PureFTPd服务

#/usr/local/etc/rc.d/pureftpd.shstart

用以下命令中断PureFTPd服务

#/usr/local/etc/rc.d/pureftpd.shstop

测试FTP是不是一般了。
#ftp你的IP
Connectedto127.0.0.1.
220----------接待离开Pure-FTPd----------
220-您是第1个利用者,最多可达50个毗连
220-如今是当地工夫09:02。服务器端口:21。
220在15分钟内没有举动,您将被断线。
Name(127.0.0.1:kevin):kevin
Password:
230-利用者kevin有以下组的权限:ftpusers
230-这个服务器撑持FXP传输
230-OK.今朝限定的目次是/
RemotesystemtypeisUNIX.
Usingbinarymodetotransferfiles.
ftp>

祝贺你,你的FTP服务已一般事情了。

3、利用PHP_Manager举行用户办理

下载最新的PHP_Manager软件

#tarzxvfftp_v1.3.1.tar.gz
#mvftp_v1.3.1/www/path/data/ftp
#cd/www/path/data/ftp
#viconfig.php
修正config.php设置文件

$LANG=$ZH_CN;//你的PHP_Manager所用的言语
$DBHost=“localhost”;//你的Mysql服务器的Host
$DBLogin=“ftp”;//登录数据库的用户
$DBPassword=“123456”;//登录数据库的用户暗码
$DBDatabase=“ftpusers”;//完成假造用户办理的数据库的名字
$FTPAddress=“61.132.35.21:21”;//你的FTP服务的IP地点和端标语

然后利用网页体例登录办理。

http://你的服务器域名/ftp

办理员是administrator,暗码是123456,这在后面建数据库的时分能够修正的。
进进以后满是中文,不要我多写了吧。
祝人人康乐!

我已把PHP_Manager修正为撑持中文的了,现传下去给人人用。

http://www.linuxsir.org/bbs/attachment.php?s=&postid=578136

有关其他体系下的安装办法,能够参照陈景峰所著《Pure-FTPd+LDAP+MySQL+PGSQL+Virtual-Users+QuotaHowTo》
在这里你会学到更多的知识,学习linux,更要学习一种geek的精神,python之禅中也说过:以总结分享为荣,以跪求其解为耻;
蒙在股里 该用户已被删除
沙发
发表于 2015-1-16 22:57:18 | 只看该作者

来看看:PureFTPd+Mysql+PHP_Manager完成假造用户磁盘限额的设置办法

其次,Linux简单易学,因为我们初学者只是学的基础部分,Linux的结构体系非常清晰,再加上老师循序渐进的教学以及耐心的讲解,使我们理解起来很快,短期内就基本掌握了操作和运行模式。
山那边是海 该用户已被删除
板凳
发表于 2015-1-20 06:48:05 | 只看该作者
这种补充有助于他人在邮件列表/新闻组/论坛中搜索对你有过帮助的完整解决方案,这可能对他们也很有用。
只想知道 该用户已被删除
地板
 楼主| 发表于 2015-1-28 22:26:49 | 只看该作者
目前全球有超过一百多个Linux发行版本,在国内也能找到十几个常见版本。如何选择请根据你的需求和能力,RedhatLinux和DebianLinux是网络管理员的理想选择。
乐观 该用户已被删除
5#
发表于 2015-2-5 22:58:50 | 只看该作者
对我们学习操作系统有很大的帮助,加深我们对OS的理解。?
精灵巫婆 该用户已被删除
6#
发表于 2015-2-14 02:04:11 | 只看该作者
查阅经典工具书和Howto,特别是Howto是全球数以万计的Linux、Unix的经验总结非常有参考价值通常40%的问题同样可以解决。
莫相离 该用户已被删除
7#
发表于 2015-3-4 04:00:59 | 只看该作者
我们这一代90后,从小接触的是windows98,家里条件好的自己有电脑装的是2000,后来又有了XP,上大学时又有了win7。
再现理想 该用户已被删除
8#
发表于 2015-3-11 16:14:27 | 只看该作者
得到到草率的回答或者根本得不到任何Linux答案。越表现出在寻求帮助前为解决问题付出的努力,你越能得到实质性的帮助。
分手快乐 该用户已被删除
9#
发表于 2015-3-27 03:13:32 | 只看该作者
linux鸟哥的私房菜,第三版,基础篇,网上有pdf下的,看它的目录和每章的介绍就行了,这个绝对原创!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-4-29 12:34

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表