作者: etony
来自: www.linuxsir.org
使用MySQL认证ProFTPD用户:
1. apt-get update //更新数据库
2. apt-get mysql-client mysql-server //安装MySQL
3. apt-get proftpd-mysql //安装支持MySQL的ProFTPD
4. mysql -uroot -p //用Root登录MySQL,
create database ftpdb //建ftpdb 数据库
grant select, update on ftpdb.* to proftpd@"%" identified by 'password' //新增一个用户,用于存取ftpdb 数据库,用户名 proftpd,密码 password
use ftpdb //对 ftpdb 库操作
#ftpgroup的表结构
CREATE TABLE `ftpgroup` (`groupname` varchar(16) NOT NULL default '',`gid` smallint(6) NOT NULL default '5500',`members` varchar(16) NOT NULL default '',KEY `groupname` (`groupname`)) TYPE=MyISAM;#插入一条记录
INSERT INTO `ftpgroup` VALUES ('ftpgroup', 5500, 'ftpuser');#ftpuser的表结构
CREATE TABLE `ftpuser` (`id` int(10) unsigned NOT NULL auto_increment,`userid` varchar(32) NOT NULL default '',`passwd` varchar(32) NOT NULL default '',`uid` smallint(6) NOT NULL default '5500',`gid` smallint(6) NOT NULL default '5500',`homedir` varchar(255) NOT NULL default '',`shell` varchar(16) NOT NULL default '/sbin/nologin',`count` int(11) NOT NULL default '0',`accessed` datetime NOT NULL default '0000-00-00 00:00:00',`modified` datetime NOT NULL default '0000-00-00 00:00:00',PRIMARY KEY (`id`)) TYPE=MyISAM ;#插入一条记录
INSERT INTO ftpuser (userid, passwd, uid, gid, homedir, shell) VALUES('ftpuser', 'ftppasswd', 5501, 5500, '/tony','/sbin/nologin'); //目录/tony应该存在5.修改/etc/proftpd.conf
加入以下内容:########################################DefaultRoot ~SQLAuthTypes Plaintext CryptSQLAuthenticate users* groups*SQLConnectInfo ftpdb@localhost proftpd passwordSQLUserInfo ftpuser userid passwd uid gid homedir shellSQLGroupInfo ftpgroup groupname gid membersSQLMinID 500SQLHomedirOnDemand onSQLLog PASS updatecountSQLNamedQuery updatecount UPDATE "count=count+1, accessed=now() WHERE userid='%u'" ftpuserSQLLog STOR,DELE modifiedSQLNamedQuery modified UPDATE "modified=now() WHERE userid='%u'" ftpuserDeferWelcome onRootLogin offRequireValidShell off########################################6. /etc/init.d/proftpd stop
/etc/init.d/proftpd start //使用/etc/init.d/proftpd restart 似乎不能达到预期的效果7.使用
用户名:ftpuser密码:ftppasswd测试