ProFTPD Version 1.2.10
Mysql Version 4.1.0 支援 UTF8
請確定你的proftpd有支援sql module
proftpd -l | grep mysql
[root][~][23:28:13]# proftpd -l | grep sql
mod_sql.c
mod_sql_mysql.c
mod_quotatab_sql.c
確定有支援之後 再來就是建立mysql資料庫
* 建立 proftp 資料庫
CREATE DATABASE `ftp` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
* 建立使用者資料表
CREATE TABLE `ftp` (
`username` varchar( 60 ) default NULL ,
`uid` int( 11 ) NOT NULL ,
`gid` int( 11 ) default NULL ,
`password` varchar( 30 ) default NULL ,
`homedir` varchar( 60 ) default NULL ,
`shell` varchar( 11 ) default ‘/bin/false’,
PRIMARY KEY ( `uid` ) ,
UNIQUE KEY ( `username` )
) TYPE = MYISAM ;
此資料表是在紀錄使用者的基本資訊,uid是使用者系統uid,gid是使用者group的id,passwd使用者的密碼
homedir為使用者登入的家目錄,
shell可以為該使用者指定相應的shell
* 建立使用者群組資料表
CREATE TABLE `groups` (
`groupname` varchar( 30 ) NOT NULL default ‘’,
`gid` int( 11 ) NOT NULL default ‘0′,
`members` text default NULL
) TYPE = MYISAM ;
其中grpname是組的名稱,gid是系統組的ID,members是組的成員。注意:多成員,他們之間要用逗號隔開,不能使用空格
例如 3個使用者 test1 test2 test3 ,members就要寫 (test1,test2,test3)
#設置MySQL認證:
SQLConnectInfo 資料庫 資料庫帳號 資料庫密碼
#設置user資料表資訊『對應你的設定的資料表』
SQLUserInfo ftp username password uid gid homedir shell
#設置group資料表資訊『對應你的設定的資料表』
SQLGroupInfo groups groupname gid members
#設定使用者密碼編碼方式 ex:Plaintext 純文字
SQLAuthTypes Plaintext
#設定mysql log檔
SQLLogFile /var/log/sql.log
PersistentPasswd off
#如果home目錄不存在,則系統會為根據它的home項新建一個目錄:
SQLHomedirOnDemand on
再來呢,建立ftp的專屬group,當然你如果有許多群組,請自行建立
1. 建立groupgroupadd ftpgroup
2. 建立一個使用者home目錄
useradd -G ftpgroup -d /home/ftp -m -s /bin/false ftp
為FTPUSR建立HOME,把所有的FTP user 活動空間全放在此目錄下:
mkdir /home/ftp #剛剛建立使用者已經建立了
chown -R ftp:ftpgroup /home/ftp
開始建立ftp的使用者,可以的話利用phpmyadmin
INSERT INTO user (`userid`, `passwd`, `uid`, `gid`, `home`, `shell`) values (’test’, ‘1234′, ‘1000′, ‘1001′, ‘/home/ftp/’, ‘/bin/false’ );
INSERT INTO `groups` VALUES (’ftpgroup’, 1001, ‘test’);
上面那個是新增group對應使用者,如果你有多個使用者對應到同一個group
那麼你就要修改 group 改成 VALUES (’ftpgroup’, 1001, ‘test1,test2,test3′)
所以每增加一個使用者,就要去修改一次,有點麻煩,不過寫程式就可以解決了
大致上是如此,有問題在提出吧
我的proftpd.conf設定檔
http://bbs.ee.ndhu.edu.tw/~appleboy/proftpd.conf資料同步在我的blog上面
http://blog.wu-boy.com/index.php/2006/10/21/22/