ProFTPD Version 1.2.10 Mysql Version 4.1.0 支援 UTF8 請確定你的proftpd有支援sql module
proftpd -l | grep mysql 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
See also
- [SQL] 如何從單一資料表取得每個 key 前 n 筆資料
- Debian/Ubuntu 的 update-rc.d 使用教學
- 在 Docker 偵測 MySQL 或 Postgres 是否啟動
- OpenSSH 安全性漏洞 CVE-2016-0777 and CVE-2016-0778
- Laravel 50 個小技巧 + Laravel 5.2 新功能
- 優化 Percona XtraDB Cluster for write hotspots
- Debian 7.x Install PHP 5.5 或 5.6 版本
- 解決在 Ubuntu 系統下 Chrome 瀏覽器亂碼
- 在 Debian 安裝 Percona Xtradb Cluster 5.5.34 注意事項
- 在 Ubuntu 建置 OpenWrt 編譯環境