ProFTPd服務(wù)安裝設(shè)置
使用 Proftpd 有個(gè)好處,可以用其它方式認(rèn)證,不用實(shí)體帳號(hào)登入,可以減少試帳號(hào)機(jī)會(huì)。
這次利用mysql 數(shù)據(jù)庫,
環(huán)境:Ubuntu 6.06.1 LTS
1. 安裝 proftpd-mysql 套件
sudo apt-get install proftpd-mysql
2. 設(shè)定 mysql 帳號(hào)
mysql -u root -p
create database ftp;
GRANT SELECT, INSERT, UPDATE, DELETE ON ftp.* TO ‘proftpd’@'localhost’ IDENTIFIED BY ‘password’;
FLUSH PRIVILEGES;
3. 建立mysql資料庫
- 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 COMMENT=’ProFTP group table’;
 - 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),
 - UNIQUE KEY userid (userid)
 - ) TYPE=MyISAM COMMENT=’ProFTP user table’;
 
4. 設(shè)定 proftpd.conf
讓 proftp 可以用 mysql 資料認(rèn)證
- SQLBackend mysql # 使用 mysql 資料庫為主
 - SQLAuthTypes Backend # 密碼認(rèn)證 已 PASSWORD() 產(chǎn)生為主
 - SQLAuthenticate on
 - SQLConnectInfo ftp@localhost proftpd password # MySQL 連線資訊,資料庫名稱@主機(jī) 帳號(hào) 密碼
 - SQLUserInfo ftpuser userid passwd uid gid homedir shell # 使用者資料庫欄位
 - SQLGroupInfo ftpgroup groupname gid members # 群組資料庫欄位
 - SQLLogFile /var/log/proftpd/sql.log # SQL Log 檔
 - SQLHomedirOnDemand on # 當(dāng) Home 目錄不存在,會(huì)自己產(chǎn)生。
 - SQLLog PASS updatecount # SQL Log 格式,當(dāng)正確登入時(shí),要執(zhí)行的 SQL 語法
 - SQLNamedQuery updatecount UPDATE “countcount=count+1, accessed=now() where userid=’%u’” ftpuser
 - SQLLog STOR,DELE modified # SQL Log 格式,當(dāng)儲(chǔ)存或刪除檔案時(shí),要執(zhí)行的 SQL 語法
 - SQLNamedQuery modified UPDATE “modified=now() where userid=’%u’” ftpuser
 - RequireValidShell off
 
5. 建立使用者帳號(hào)
- mysql -u root -p
 - insert into ftp (userid, passwd , uid, gid , homedir ) values (’ubuntu_user’,password(’12345′), ‘5500′,’5500′,’/home/ftp/ubuntu_user’);
 
建立 ubuntu_user 帳號(hào),密碼為 12345 ,目錄位于 /home/ftp/ubuntu_user , uid / gid 為此 user 上傳檔案時(shí)的 uid / gid。
6. 重新啟動(dòng) Proftpd
sudo /etc/init.d/proftpd restart
請(qǐng)用剛剛建立好的帳號(hào)登入看看,若順利就可以登入指定目錄內(nèi)。
7. 除錯(cuò)
有任何問題,請(qǐng)檢查 sql.log ,會(huì)有資訊說明錯(cuò)誤的原因。
【編輯推薦】















 
 
 
 
 
 
 