使用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 Crypt SQLAuthenticate users* groups* SQLConnectInfo ftpdb@localhost proftpd password SQLUserInfo ftpuser userid passwd uid gid homedir shell SQLGroupInfo ftpgroup groupname gid members SQLMinID 500 SQLHomedirOnDemand on SQLLog PASS updatecount SQLNamedQuery updatecount UPDATE "count=count+1, accessed=now() WHERE userid=''''%u''''" ftpuser SQLLog STOR,DELE modified SQLNamedQuery modified UPDATE "modified=now() WHERE userid=''''%u''''" ftpuser DeferWelcome on RootLogin off RequireValidShell off ########################################
6. /etc/init.d/proftpd stop /etc/init.d/proftpd start //使用/etc/init.d/proftpd restart 似乎不能达到预期的效果
7.使用 用户名:ftpuser 密码:ftppasswd 测试
|