数据备份系统治理方案

   泉源:网海拾贝  




随着较劲争论机收集的广泛,较劲争论机病毒有了快速传播的机遇,并且对数据文件的破裂摧毁日益严峻,用户必要屡屡对小我重要数据做异地备份。基于多用户和数据隐私的考虑,提出了个人数据备份系统治理方案。它独霸收集存储配置具有的大容量、高靠得住性、高安谧性特点,为用户提供必定容量的空间来保管小我数据,同时独霸软件的权限治理很好地完成小我数据的失密性。

  现在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的细心设置等结果,由于篇幅无限就不逐一论说。




版权声明: 原创作品,应允转载,转载时请务必以超链接形式标明文章 原始来由 、作者信息和本声明。否则将究查执法责任。

posted @ 2011-03-07 18:58  蓝色的天空III  阅读(176)  评论(0编辑  收藏  举报