数据备份体系管理方案

   前导发轫:网海拾贝  




跟着计较机网络的普及,计较机病毒有了快速传达的机遇,并且对数据文件的粉碎日益弥留,用户需求每每对团体弥留数据做异地备份。基于多用户和数据隐私的思索,提出了个人数据备份体系管理方案。它应用网络存储装备具有的大容量、高靠得住性、高安好性特点,为用户提供必定容量的空间来糊口糊口生计团体数据,同时应用软件的权限管理很好地完成团体数据的掉密性。

  此刻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 19:57  蓝色的天空III  阅读(226)  评论(0编辑  收藏  举报