安装完proftpd-mysql后,
首先创建数据库:
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) unsigned NOT NULL default ‘65534’,
gid
smallint(6) unsigned NOT NULL default ‘65534’,
homedir
varchar(255) NOT NULL default ”,
shell
varchar(16) NOT NULL default ‘/bin/sh’,
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 COMMENT=’ProFTP user table’ ;
CREATE TABLEftpgroup
(
groupname
varchar(16) NOT NULL default ”,
gid
smallint(6) unsigned NOT NULL default ‘65534’,
members
varchar(16) NOT NULL default ”,
KEYgroupname
(groupname
)
) TYPE=MyISAM COMMENT=’ProFTP group table';
然后修改/etc/proftpd.conf,在其后面添加
SQLConnectInfo db@localhost mysql-user mysql-pwd
# 数据库认证的类型
SQLAuthTypes Backend Plaintext
# 数据库的鉴别
SQLAuthenticate users* groups*
# 指定用来做用户认证的表的有关信息。
SQLUserInfo ftpuser userid passwd uid gid homedir shell
SQLGroupInfo ftpgroup groupname gid members
# 如果home目录不存在,则系统会根据它的home项新建一个目录
SQLHomedirOnDemand on
#目录所有者,nobody为65534.
SQLDefaultGID 65534
SQLDefaultUID 65534SQLLog PASS updatecount
SQLNamedQuery updatecount UPDATE “count=count+1,accessed=now() WHERE userid=’%u'” ftpuser
# Update modified everytime user uploads or deletes a file
SQLLog STOR,DELE modified
SQLNamedQuery modified UPDATE “modified=now() WHERE userid=’%u'” ftpuser
然后重新启动proftpd,注意,首先要
/etc/init.d/proftpd stop
/etc/init.d/proftpd start
以后可以直接:
/etc/init.d/proftpd restart
然后就可以在数据库插入用户了,注意shell不能为空,否则会出现不能登陆的错误。(我在SQL把其默认设置为/bin/sh)。
若出现密码错误,可以检查/var/log/auth.log记录。