openssl genrsa -out proftpd.key2 1024
openssl req -new -x509 -days 3650 -key proftpd.key -out proftpd.crt
Country Name (2 letter code) [AU]:TW State or Province Name (full name) [Some-State]:Taiwan Locality Name (eg, city) []:Jhungli Organization Name (eg, company) [Internet Widgits Pty Ltd]:SARS.tw Organizational Unit Name (eg, section) []:FTP Common Name (eg, YOUR name) []:sars.tw Email Address []:username@domain.name
chmod go-r proftpd.key proftpd.crt
mv proftpd.key proftpd.crt /etc/ssl/certs/
<IfModule mod_tls.c> TLSEngine on TLSLog /var/log/proftpd/tls.log TLSProtocol SSLv23 TLSRSACertificateFile /etc/ssl/certs/proftpd.crt TLSRSACertificateKeyFile /etc/ssl/certs/proftpd.key TLSVerifyClient off TLSRequired on TLSRenegotiate required off </IfModule>
在檔案中加入:
Include /etc/proftpd/tls.conf
並檢查 modules.conf 中是否有:
LoadModule mod_tls.c
http://www.castaglia.org/proftpd/doc/contrib/ProFTPD-mini-HOWTO-SQL.html
http://blog.wu-boy.com/2006/10/21/22
CREATE DATABASE `ftp` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
此資料表紀錄使用者的基本資訊,uid 是使用者系統 uid,gid 是使用者 group 的 id,passwd 密碼,homedir 為使用者登入的家目錄,shell 可以為該使用者指定相應的 shell。
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 ;
grpname 是群組名稱,gid 是系統組的 ID,members 是組的成員。注意:多成員,他們之間要用逗號隔開,不能使用空格 例如 3 個使用者 test1 test2 test3 ,members就要寫 (test1,test2,test3)。
CREATE TABLE `groups` ( `groupname` varchar( 30 ) NOT NULL default '', `gid` int( 11 ) NOT NULL default '0', `members` text default NULL ) TYPE = MYISAM;
建立使用者 proftpd,並指定 ftp 資料庫權限。
使用 sql.conf 設定,檔案中要有這行:
Include /etc/proftpd/sql.conf
<IfModule mod_sql.c> SQLBackend mysql SQLEngine on SQLAuthenticate on SQLAuthTypes Crypt Plaintext SQLConnectInfo ftp@localhost proftpd Cc:Y6yn9fnH7Zhtx SQLUserInfo ftp username password uid gid homedir shell SQLGroupInfo groups groupname gid members #設定mysql log檔 SQLLogFile /var/log/proftpd/sql.log PersistentPasswd off </IfModule>
# groupadd ftpgroup
# /etc/init.d/proftpd restart