ProFTPD 和 MySQL 認(rèn)證需要做什么
ProFTPD:一個(gè)Unix平臺(tái)上或是類Unix平臺(tái)上(如Linux, FreeBSD等)的FTP服務(wù)器程序,ProFTPD和MySQL 認(rèn)證需要做什么呢,跟我來(lái)看看!
使用MySQL認(rèn)證ProFTPD用戶:
1. apt-get update //更新數(shù)據(jù)庫(kù)
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 數(shù)據(jù)庫(kù)
grant select, update on ftpdb.* to proftpd@"%" identified by 'password' //新增一個(gè)用戶,用于存取ftpdb 數(shù)據(jù)庫(kù),用戶名 proftpd,密碼 password
use ftpdb //對(duì) ftpdb 庫(kù)操作
#ftpgroup的表結(jié)構(gòu)
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的表結(jié)構(gòu)
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應(yīng)該存在
5.修改/etc/proftpd.conf
加入以下內(nèi)容:
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 似乎不能達(dá)到預(yù)期的效果
7.使用
用戶名:ftpuser
密碼:ftppasswd
通過(guò)文章我們了解到ProFTPD 和 MySQL 認(rèn)證準(zhǔn)備工作。希望對(duì)你們有用!
【編輯推薦】