泉源:网海拾贝
随着较劲争论机收集的广泛,较劲争论机病毒有了快速传播的机遇,并且对数据文件的破裂摧毁日益严峻,用户必要屡屡对小我重要数据做异地备份。基于多用户和数据隐私的考虑,提出了个人数据备份系统治理方案。它独霸收集存储配置具有的大容量、高靠得住性、高安谧性特点,为用户提供必定容量的空间来保管小我数据,同时独霸软件的权限治理很好地完成小我数据的失密性。
现在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的细心设置等结果,由于篇幅无限就不逐一论说。
版权声明: 原创作品,应允转载,转载时请务必以超链接形式标明文章 原始来由 、作者信息和本声明。否则将究查执法责任。