ProFTPD 和 MySQL 認證需要做什么
ProFTPD:一個Unix平臺上或是類Unix平臺上(如Linux, FreeBSD等)的FTP服務器程序,ProFTPD和MySQL 認證需要做什么呢,跟我來看看!
使用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
通過文章我們了解到ProFTPD 和 MySQL 認證準備工作。希望對你們有用!
【編輯推薦】