mysql(指RDS)验证pureftpd登录

1、下载  pure-ftpd-1.0.47.tar.gz

      官网下载   ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/

tar  zxvf  pure-ftpd-1.0.47.tar.gz

 cd pure-ftpd-1.0.47 

 ./configure --prefix=/usr/local/pureftpd --with-cookie --with-throttling --with-ratios --with-quotas --with-sysquotas --with-uploadscript --with-virtualhosts --with-virtualchroot --with-virtualchroot --with-diraliases --with-peruserlimits --with-language=simplified-chinese --with-mysql --with-paranoidmsg --with-altlog --with-rfc2640

make  && make install

2、修改配置文件/usr/local/pureftpd/etc/pure-ftpd.conf

ChrootEveryone               yes
BrokenClientsCompatibility   no
MaxClientsNumber             50
Daemonize                    yes
MaxClientsPerIP              8
VerboseLog                   no
DisplayDotFiles              yes
AnonymousOnly                no
NoAnonymous                  yes
SyslogFacility               ftp
DontResolve                  yes
MaxIdleTime                  15
MySQLConfigFile /usr/local/pureftpd/etc/pureftpd-mysql.conf
LimitRecursion               10000 8
AnonymousCanCreateDirs       no
MaxLoad                      4
AntiWarez                    yes
Bind                         ,2121
Umask                        133:022
MinUID                       100
AllowUserFXP                 no
AllowAnonymousFXP            no
ProhibitDotFilesWrite        no
ProhibitDotFilesRead         no
AutoRename                   no
AnonymousCantUpload          yes
CreateHomeDir                no
PIDFile                      /var/run/pure-ftpd.pid
MaxDiskUsage                   99
CustomerProof                yes
ClientCharset           gb2312

3、修改配置文件pureftpd-mysql.conf  (从源文件pure-ftpd-1.0.47中拷贝)

MYSQLServer     xxx.mysql.rds.aliyuncs.com
MYSQLPort       3306
MYSQLUser       xxx
MYSQLPassword   xxx
MYSQLDatabase   xxx
MYSQLCrypt      cleartext    选择明文用cleartext、加密使用crypt
MYSQLGetPW      SELECT Password FROM pureftpuser WHERE User='\L'
MYSQLGetUID     SELECT Uid FROM pureftpuser WHERE User='\L'
MYSQLGetGID     SELECT Gid FROM pureftpuser WHERE User='\L'
MYSQLGetDir     SELECT Dir FROM pureftpuser WHERE User='\L'
MySQLGetQTAFS  SELECT QuotaFiles FROM pureftpuser WHERE User='\L'
MySQLGetQTASZ  SELECT QuotaSize FROM pureftpuser WHERE User='\L'
MySQLGetBandwidthUL SELECT ULBandwidth FROM pureftpuser WHERE User='\L'
MySQLGetBandwidthDL SELECT DLBandwidth FROM pureftpuser WHERE User='\L'

4、RDS中创建表

CREATE TABLE `pureftpuser` ( `id` int(32) unsigned NOT NULL auto_increment,
`User` varchar(16) NOT NULL default '',
`Password` varchar(64) NOT NULL default '',
`Uid` varchar(11) NOT NULL default '-1',
`Gid` varchar(11) NOT NULL default '-1',
`Dir` varchar(128) NOT NULL default '',
`QuotaSize` smallint(5) NOT NULL default '0',
`QuotaFiles` int(11) NOT NULL default '0',
`ULBandwidth` smallint(5) NOT NULL default '0',
`DLBandwidth` smallint(5) NOT NULL default '0',
`ULRatio` smallint(6) NOT NULL default '0',
`DLRatio` smallint(6) NOT NULL default '0',
`comment` tinytext NOT NULL,
`ipaccess` varchar(15) NOT NULL default '*',
`status` enum('0','1') NOT NULL default '0',
`create_date` datetime NOT NULL default '0000-00-00 00:00:00',
`modify_date` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`id`,`User`), UNIQUE KEY `User` (`User`) )
TYPE=MyISAM AUTO_INCREMENT=5 ;

5、添加系统用户

groupadd download -g 1000
useradd download -u 1000 -g download -s /sbin/nologin
groupadd upload -g 1001
useradd upload -u 1001 -g upload -s /sbin/nologin
 
mkdir /pub 
chown -R upload /pub      
chgrp -R download /pub   
chmod 750 /pub        

6、插入数据

INSERT INTO `pureftpuser` VALUES (1, 'download','download', '1000', '1000', '/pub', 0, 0, 0, 0, 0, 0, '','*', '1', '2017-12-07 16:33:00', '2017-12-07 16:34:00');
INSERT INTO `pureftpuser` VALUES (1, 'upload','upload', '1001', '1001', '/pub', 0, 0, 0, 0, 0, 0, '','*', '1', '2017-12-07 16:33:00', '2017-12-07 16:34:00');

7、启动服务,验证

/usr/local/pureftpd/sbin/pure-ftpd /usr/local/pureftpd/etc/pure-ftpd.conf

 

posted @ 2017-12-07 16:37  运维圈的小明  阅读(349)  评论(0编辑  收藏  举报