注册通行证 用户名 密码
  • 文章投稿
  • 博客
  • 论坛
  • 设为首页
  • 加入收藏
jztop.com网络技术
  • 首页
  • | iT新闻
  • | 操作系统
  • | 组网建网
  • | 网络安全
  • | 程序开发
  • | 办公一族
  • | 工具软件
  • | 网页制作
  • | 多媒体制作
  • | 网吧技术
  • | 服务器
  • | 专题教程
Vista | 软件评测 | 系统备份 | 优化 | 进程 | 聊天 | 病毒 | Linux | 黑客 | 防火墙 | 数据库 | Web开发 | Java | Word | 游戏 | 32位开发 | 移动开发
当前位置:首页 > 程序开发 > 数据库 > MySql > 内容正文

MySQL下数据备份的系统解决方案简介

发布时间:2006-10-20 07:13:00 来源:友佳学院 网友评论 0 条

随着计算机网络的普及,计算机病毒有了快速传播的机会,并且对数据文件的破坏日益严重,用户需要经常对个人重要数据做异地备份。基于多用户和数据隐私的考虑,提出了个人数据备份系统解决方案。它利用网络存储设备具有的大容量、高可靠性、高安全性特点,为用户提供一定容量的空间来保存个人数据,同时利用软件的权限管理很好地实现个人数据的保密性。

目前Linux下FTP服务器软件主要有Wu-FTP和ProFTPD两种。Wu-FTP是Red Hat Linux预装软件,但安全漏洞很多。ProFTPD针对Wu-FTP的弱项而开发,除改进了安全性外,还具备许多特点,如设置简单、能以Stand-alone模式运行等。ProFTPD已经成为继Wu-FTP之后最为流行的FTP服务器软件之一。

ProFTPD在1.2版本之前使用Linux用户账号来管理用户,即使用口令文件。该方式存在很多不足,与数据库操作相比,用户账号的增加、口令的修改及账号的删除显得十分复杂,并且文件无法支持并发读写;在Linux中用户账号具有Telnet的权限,安全上存在隐患;口令文件只有root账号可以修改,如果使用浏览器方式修改此文件,在技术上有一定难度。

在ProFTPD 1.2.4版中增加了数据库管理用户的功能,目前只支持MySQL数据库,并且该账号只适用于FTP 服务器,不存在安全上的隐患。本文使用的开发平台是Linux + ProFTPD + MySQL组合。

总体设计

系统后台采用FTP服务器来为用户提供管理文件功能,可使用支持FTP 功能的各种软件来操作数据文件。解决方案实现用户账号自动申请受理、密码修改,网络管理人员可以使用浏览器来管理账号修改空间限量、修改口令及删除账号等功能。

系统的核心是如何使用开发语言来动态地配置ProFTPD,实现对数量众多用户的账号管理。

解决方案详细内容

有关ProFTPD的安装和配置文件内容的资料可以详见系统文档,本文重点介绍和数据库有关的部分。

1. 安装ProFTPD

(1)安装MySQL数据库,创建MySQL的安装目录的符号,连接到/usr/local/mysql。

(2)编译前的配置,将MySQL和空间限量模块增加到编译的选项中,代码如下:

# ./configure --with-includes = /usr/local/mysql/include --with-libraries=/usr/local/mysql/lib/mysql --with- modules=mod_sql:mod_sql_mysql:mod_quota

2. 增加用户

在MySQL中创建FTPusers数据库和users表用来保存FTP账号信息,代码如下:

CREATE TABLE users ( userid varchar(50) NOT NULL, //用户的FTP 账号名称 password varchar(50), // 用户的FTP账号密码 uid int(5) DEFAULT '0' NOT NULL, //用户主目录的 uid gid int(5) DEFAULT '65533' NOT NULL, //用户主目录的 gid homedir varchar(255), //用户主目录 count int(11) DEFAULT '0', //登陆次数 ftime timestamp(14), //最后一次登陆时间 shell varchar(255) DEFAULT ' /bin/bash', PRIMARY KEY (userid) //主关键字);

在proftpd.conf中增加有关MySQL的配置,代码如下:

SQLConnectInfo ftpusers@MySQL服务器名 username password //数据库连接SQLDoGroupAuthoffSQLAuthTypesPlaintextSQLDoAuthonSQLHomedirOnDemandonSQLUserTableusers //指定使用的表名SQLUsernameFielduserid //以下信息需要与users表中的字段对应SQLPasswordFieldpasswordSQLHomedirFieldhomedir SQLLoginCountFieldcountSQLShellFieldshellSQLAuthoritativeoffSQLLogStatsonSQLMinUsergid99SQLMinUseruid14SQLLogDirsfcdirSQLDefaultgid99

创建用户时需要在表中增加记录,即完成账号的增加。在用户第一次使用该账号登陆时,系统自动创建用户主目录并依据uid和gid的值来设置目录的用户和组。根据配置文件中的缺省空间限量的值生成限量文件。以下是ProFTPD.conf中设置缺省空间限量的配置:

DefaultQuota204800000 //200MB大小QuotaTypehard

3. 删除用户

删除用户需要完成两方面工作:一方面需要对MySQL的users表做相应的删除;另一方面要删除用户主目录。需要注意的是,由于采用浏览器方式,开发系统的执行用户应具有对用户主目录的写权限。用户主目录的用户和组是由users表中的uid和gid来确定的。

4. 修改空间限量

在用户主目录创建后,系统自动生成.quota空间限量文件。该文件只能被root修改,文件的格式为“总容量 使用的容量”,账号管理系统只需使用新的限量文件覆盖即可。对“使用的容量”,FTP服务器每次登陆时会自动计算。如何使软件系统具有root权限,可以参看“sudoers”。

5.日志记录

从安全角度考虑,日志是很重要的一部分。传统的日志都是记录到文件中,而ProFTPD提供了将日志记录到数据库中的功能。这既方便了日志的查询,又极大地提高了日志查询速度。

首先需要在MySQL数据库中创建FTP_log数据表,代码如下:

CREATE TABLE FTP_log ( id int(12) unsigned DEFAULT '0' NOT NULL auto_increment, //主关键字 filename varchar(255), //文件名 filesize int(10) unsigned, //文件大小 email varchar(20) NOT NULL, //用户的账号 ip varchar(15) NOT NULL, //用户的ip地址 action varchar(255), //用户操作的内容 ftime datetime, //操作的时间 PRIMARY KEY (id));

修改ProFTPD.conf文件,将“日志记录到文件”关闭,设置如下:

TransferLognone

增加关于日志的配置,需要把用户的上载和下载及删除操作记录到日志中,记录的内容用户可以定置。例如:

SQLLog RETR,STOR,DELE insert FTP_log "null,'%f', %b, '%u','%h','%r',now()"

被记录的操作有以下几个:

◆RETR,文件的下载;

◆STOR,文件的上传;

◆DELE,文件的删除。

其中日志记录有以下内容:

◆%f,上载或下载的文件名称包含绝对路径;

◆%b,文件的大小,以字节为单位;

◆%u,用户使用的FTP账号;

◆%h,用户的IP地址;

◆now(),为MySQL提供系统时间函数。

结束语

在详细了解系统关键技术后,开发语言可以根据实际情况来选择,并可结合电子邮件服务器,实现账号和密码的统一,方便用户操作。有关MySQL和ProFTPD的详细配置等问题,由于篇幅有限就不一一阐述。

关于 MySQL 数据备份 系统  的新闻
  • 决战紫禁巅 IE 7对决Firefox 2.0
  • 添加参数 使Foxmail更加简单快捷
  • 正式版IE 7个性化设置技巧二则
  • Photoshop鼠绘教程:酷酷摩托车
【评论】【收藏本文】【打印】【关闭】
上一篇文章:MySQL数据库的多表操作和备份处理
下一篇文章:MySQL数据库如何实现双机热备的配置
讨论区
查看
已有 0 位对此新闻感兴趣的网友发表了看法
匿名发表
注册通行证 登陆
图文阅读推荐
全站资源
  • 微软官方入门教程19:轻松掌握Vista系统的快
  • 微软2008大冲击,预借Vista SP1力促Vista市
  • 在收件箱中获得 Windows Vista 的最新更新
  • 微软官方Vista入门教程全集19篇(Vista学院
  • Windows Vista 的成功将势不可挡
  • 快快抛弃Vista,拥抱XP SP3!你觉得呢?
  • 浅谈Vista系统关闭虚拟内存与使用内存盘加速
  • 嘿嘿,按下键盘上面的三个键,马上让你的Vi
  • Windows Vista的盗版率只有Windows XP的一半
  • 3DMark和PCMark Vantage新版将只支持Vista系
阅读排行
  • 完整图解 Tomcat 5.0.28 安装笔记
  • Tomcat+SQL Server2000连接池配置
  • MySQL 5.015官网下载地址
  • MySQL Client下载列表
  • MySQL数据库如何实现双机热备的配置
  • JDBC连接SQL2000详细流程
  • MySQL for Linux (x86, glibc-2.2, static,
  • MySQL数据库的多表操作和备份处理
  • 一个简便的MySql数据库备份的方法
  • MySQL数据查询器下载列表
最新技术文档
  • 一个简便的MySql数据库备份的方法
  • MySQL数据库的多表操作和备份处理
  • MySQL下数据备份的系统解决方案简介
  • MySQL数据库如何实现双机热备的配置
  • Mysql安全:有关“_” 的搜索问题
  • 解决MySQL启动时万恶的1067错误
  • 为什么我的 MySQL不支持中文查询?
  • 用MySQL内建复制功能来优化可用性
  • 从SQL Server导出到MYSQL的简单方法
  • 如何把ACCESS的数据导入到MySQL中
专题教程
  • 大话G游 专题:手机病毒揭密
  • ARP攻击防范与解决方案 路由故障处理手册
  • Picasa中文版_Picasa教程 专题:清除流氓软件
  • Firefox专题 seo搜索引擎优化专区
  • 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
  • 杀毒软件反被病毒杀 连"救命"都不能喊
  • 金山ARP防火墙
  • 还原卡神话破灭“机器狗”病毒来势汹汹
  • cctv经济半小时:你的手机现在安全吗?
  • 新挂马方式开始流行 ARP挂马称雄局域网
  • 木马和病毒清除的通用解法
  • IP地址不再冲突 查找ARP攻击者元凶
  • 教你几招识别和防御Web网页木马
  • 分析:封杀BT只是暂时的止痛药
  • QQ爆危险漏洞,“QQ游戏邀请大盗”邀请你玩病
关于我们 | 诚聘英才 | 联系我们 | 版权声明 | 网站大事 | 网站地图 | 意见建议
CopyRight 2005-2007 Jztop.Com 版权所有 未经许可 请勿转载