文件服务器 之 ProFTPD+MySQL 认证
作者: 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 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
測試
轉載于:https://www.cnblogs.com/licheng/archive/2008/01/23/1050035.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的文件服务器 之 ProFTPD+MySQL 认证的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 组件的创建方式1
- 下一篇: centos 7配置firewall防