数据备份系统解决方案_MySQL
目前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)
//主关键字
);
推荐阅读
-
mysql的jdbc配置(mysql数据库备份讲解)
-
删库跑路?使用xtraback备份MySQL数据库的方法
-
解决SQL SERVER数据库备份时出现“操作系统错误5(拒绝访问)。BACKUP DATABASE 正在异常终止。”错误的解决办法
-
shell实现自动备份mysql、整站数据的两个脚本分享
-
MYSQL代码 定期备份Mysql数据库
-
mysql数据库太大了如何备份与还原
-
Mysql数据库绿色版安装教程 解决系统错误1067的方法
-
MySQL 数据库跨操作系统的最快迁移方法
-
利用MySQL系统数据库做性能负载诊断
-
windows系统下mysql数据库字符编码问题分析之需要修改字符集为UTF-8