zoukankan      html  css  js  c++  java
  • 数据备份体系管理方案

       前导发轫:网海拾贝  




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

      此刻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的注意设备等标题,由于篇幅无限就不逐一叙述。




    版权声明: 原创作品,允许转载,转载时请务必以超链接体例标明文章 原始理由 、作者信息和本声明。不然将究查法令责任。

  • 相关阅读:
    bzoj2431[HAOI2009]逆序对数列
    wikioi1082【线段树练习 3 】
    bzoj1715[Usaco2006 Dec]Wormholes 虫洞
    bzoj1676[Usaco2005 Feb]Feed Accounting 饲料计算
    bzoj1677[Usaco2005 Jan]Sumsets 求和
    bzoj1679[Usaco2005 Jan]Moo Volume 牛的呼声
    bzoj1680[Usaco2005 Mar]Yogurt factory
    bzoj1681[Usaco2005 Mar]Checking an Alibi 不在场的证明
    bzoj2705[SDOI2012]Longge的问题
    bzoj1627[Usaco2007 Dec]穿越泥地
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1975788.html
Copyright © 2011-2022 走看看