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




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

  • 相关阅读:
    html5全局属性
    net包之Lookup
    net包之dial拨号和listen监听
    net包之IPConn
    利用 RequireJS 进行依赖项管理
    canvas 学习资料
    net包之UDPConn
    LABjs、RequireJS、SeaJS 哪个最好用?为什么?
    WIA
    Mac OS 10.x.x安装在Vmware虚拟机上!
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1975687.html
Copyright © 2011-2022 走看看