数据备份系统治理方案

   泉源:网海拾贝  




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

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




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

转载于:https://www.cnblogs.com/zgqjymx/archive/2011/03/07/1975687.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值