当前位置:七道奇文章资讯数据防范MySQL防范
日期:2011-05-02 15:44:00  来源:本站整理

数据备份系统办理筹划[MySQL防范]

赞助商链接



  本文“数据备份系统办理筹划[MySQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
  随着计算机网络的遍及,计算机病毒有了快速传达的机会,并且对数据文件的破坏日益严重,用户需求常常对个人重要数据做异地备份.基于多用户和数据隐私的考虑,提出了个人数据备份系统办理筹划.它操纵网络存储设备具有的大容量、高坚固性、高安全性特点,为用户供应一定容量的空间来保存个人数据,同时操纵软件的权限管理很好地实现个人数据的保密性.

  目前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 
//数据库衔接
SQLDoGroupAuth		off
SQLAuthTypes		Plaintext
SQLDoAuth			on
SQLHomedirOnDemand		on
SQLUserTable			users  
//指定利用的表名
SQLUsernameField		userid  
//以下信息需求与users表中的字段对应
SQLPasswordField		password
SQLHomedirField		homedir  
SQLLoginCountField	count
SQLShellField		shell
SQLAuthoritative		off
SQLLogStats			on
SQLMinUsergid		99
SQLMinUseruid		14
SQLLogDirs			fcdir
SQLDefaultgid		99


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

DefaultQuota	204800000 //200MB大小
QuotaType		hard


  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文件,将"日记记录到文件"关闭,设置以下:

TransferLog			none


  增添关于日记的配置,需求把用户的上载和下载及删除操作记录到日记中,记录的内容用户可以定置.比方:

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防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • SQLserver部分数据备份
  • MySQL下数据备份系统办理筹划
  • 数据备份系统办理筹划
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .