自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Proftpd和MySQL 的全面配置

運維 系統(tǒng)運維
Proftpd和MySQL 的全面配置:proftpd(Professional FTP daemon),是針對Wu-FTP的弱項而開發(fā)的。除了改進其安全性,還有具備許多Wu-FTP所沒有的特點。比如,能以Stand-alone、xinetd模式運行。ProFTP不僅配置方便,而且有MySQL模塊,本文主要講述的是Proftpd和MySQL 的全面配置。

ProftpdMySQL 的全面配置:proftpd(Professional FTP daemon),是針對Wu-FTP的弱項而開發(fā)的。除了改進其安全性,還有具備許多Wu-FTP所沒有的特點。比如,能以Stand-alone、xinetd模式運行。ProFTP不僅配置方便,而且有MySQL模塊,本文主要講述的是Proftpd和MySQL 的全面配置。

  1.建立相應(yīng)的用戶和用戶組

  1.   groupadd -g 5500 ftpgroup  
  2.  
  3.   adduser -u 5500 -s /bin/false -d /bin/null -c "proftpd user" -g ftpgroup ftpuser  
  4.  

  2.操作數(shù)據(jù)庫

  1.   mysql mysql -uroot -ppassword  
  2.  
  3.   create database ftpdb  
  4.  
  5.   grant select, update on ftpdb.* to proftpd@localhost identified by 'password'use ftpdb  
  6.  

  

  1. CREATE TABLE `ftpgroup` (  
  2.  
  3.   `groupname` varchar(16) NOT NULL default '',  
  4.  
  5.   `gid` smallint(6) NOT NULL default '5500',  
  6.  
  7.   `members` varchar(16) NOT NULL default '',  
  8.  
  9.   KEY `groupname` (`groupname`)  
  10.  
  11.   ) TYPE=MyISAM COMMENT='ProFTP group table';  
  12.  
  13.   INSERT INTO `ftpgroup` VALUES ('ftpgroup', 5500, 'ftpuser');  
  14.  
  15.   CREATE TABLE `ftpquotalimits` (  
  16.  
  17.   `name` varchar(30) default NULL,  
  18.  
  19.   `quota_type` enum('user','group','class','all') NOT NULL default 'user',  
  20.  
  21.   `per_session` enum('false','true') NOT NULL default 'false',  
  22.  
  23.   `limit_type` enum('soft','hard') NOT NULL default 'soft',  
  24.  
  25.   `bytes_in_avail` float NOT NULL default '0',  
  26.  
  27.   `bytes_out_avail` float NOT NULL default '0',  
  28.  
  29.   `bytes_xfer_avail` float NOT NULL default '0',  
  30.  
  31.   `files_in_avail` int(10) unsigned NOT NULL default '0',  
  32.  
  33.   `files_out_avail` int(10) unsigned NOT NULL default '0',  
  34.  
  35.   `files_xfer_avail` int(10) unsigned NOT NULL default '0'  
  36.  
  37.   ) TYPE=MyISAM;  
  38.  
  1.   CREATE TABLE `ftpquotatallies` (  
  2.  
  3.   `name` varchar(30) NOT NULL default '',  
  4.  
  5.   `quota_type` enum('user','group','class','all') NOT NULL default 'user',  
  6.  
  7.   `bytes_in_used` float NOT NULL default '0',  
  8.  
  9.   `bytes_out_used` float NOT NULL default '0',  
  10.  
  11.   `bytes_xfer_used` float NOT NULL default '0',  
  12.  
  13.   `files_in_used` int(10) unsigned NOT NULL default '0',  
  14.  
  15.   `files_out_used` int(10) unsigned NOT NULL default '0',  
  16.  
  17.   `files_xfer_used` int(10) unsigned NOT NULL default '0'  
  18.  
  19.   ) TYPE=MyISAM;  
  20.  
  1.   CREATE TABLE `ftpuser` (  
  2.  
  3.   `id` int(10) unsigned NOT NULL auto_increment,  
  4.  
  5.   `userid` varchar(32) NOT NULL default '',  
  6.  
  7.   `passwd` varchar(32) NOT NULL default '',  
  8.  
  9.   `uid` smallint(6) NOT NULL default '5500',  
  10.  
  11.   `gid` smallint(6) NOT NULL default '5500',  
  12.  
  13.   `homedir` varchar(255) NOT NULL default '',  
  14.  
  15.   `shell` varchar(16) NOT NULL default '/sbin/nologin',  
  16.  
  17.   `count` int(11) NOT NULL default '0',  
  18.  
  19.   `accessed` datetime NOT NULL default '0000-00-00 00:00:00',  
  20.  
  21.   `modified` datetime NOT NULL default '0000-00-00 00:00:00',  
  22.  
  23.   PRIMARY KEY (`id`)  
  24.  
  25.   ) TYPE=MyISAM COMMENT='ProFTP user table' ;  
  26.  

  注意這里大家根據(jù)實際情況填寫自己數(shù)據(jù)庫的用戶名和密碼,如果大家對數(shù)據(jù)庫操作不熟悉的話,不妨可以用phpmyadmin來操作。

#p#

  3.配置proftp文件

  1.   ServerName "Frank's FTP Server" ServerType standalone DefaultServer onPort 21  
  2.  
  3.   Umask 022  
  4.  
  5.   MaxInstances 30  
  6.  
  7.   MaxLoginAttempts 3  
  8.  
  9.   User nobody  
  10.  
  11.   Group nobody  
  12.  
  13.   MaxHostsPerUser 1 "Sorry, you may not connect more than one time."  
  14.  
  15.   MaxClientsPerUser 2 "Only one such user at a time."  
  16.  
  17.   MaxClientsPerHost 3 "Sorry, you may not connect more than one time."  
  18.  
  19.   RootLogin off  
  20.  
  21.   RequireValidShell off  
  22.  
  23.   TimeoutStalled 10  
  24.  
  25.   MaxClients 10  
  26.  
  27.   AllowForeignAddress on  
  28.  
  29.   AllowStoreRestart on  
  30.  
  31.   ServerIdent off  
  32.  
  33.   DefaultRoot ~ ftpgroup  
  34.  
  35.   SQLAuthTypes Backend Plaintext  
  36.  
  37.   #Backend表示用戶認證方式為MySQL數(shù)據(jù)庫的認證方式  
  38.  
  39.   #Plaintext表示明文認證方式,排在最前面的為最先使用的方式  
  40.  
  41.   SQLAuthenticate users* groups*  
  42.  
  43.   # databasename@host database_user user_password  
  44.  
  45.   SQLConnectInfo ftpdb@localhost proftpd password  
  46.  
  47.   SQLUserInfo ftpuser userid passwd uid gid homedir shell  
  48.  
  49.   SQLGroupInfo ftpgroup groupname gid members  
  50.  
  51.   SQLHomedirOnDemand on  
  52.  
  53.   #如果用戶主目錄不存在,則系統(tǒng)會根據(jù)此用戶在用戶數(shù)據(jù)表中的homedir字段的值新建一個目錄  
  54.  
  55.   # Update count every time user logs in  
  56.  
  57.   SQLLog PASS updatecount  
  58.  
  59.   SQLNamedQuery updatecount UPDATE "countcount=count+1,accessed=now() WHERE userid='%u'" ftpuser  
  60.  
  61.   # Update modified everytime user uploads or deletes a file  
  62.  
  63.   SQLLog STOR,DELE modified  
  64.  
  65.   SQLNamedQuery modified UPDATE "modified=now() WHERE userid='%u'" ftpuser  
  66.  
  67.   QuotaEngine on  
  68.  
  69.   QuotaDirectoryTally on  
  70.  
  71.   QuotaDisplayUnits Mb  
  72.  
  73.   QuotaShowQuotas on  
  74.  
  75.   QuotaLog "/var/log/quota"  
  76.  
  77.   SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type, bytes_in_avail, bytes_out_avai  
  78.  
  79.   l, bytes_xfer_avail, files_in_avail, files_out_avail, files_xfer_avail FROM ftpquotalimits WHERE name = '%{0}' 
  80.  
  81.   AND quota_type = '%{1}'"  
  82.  
  83.   SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, bytes_xfer_used, files_i  
  84.  
  85.   n_used, files_out_used, files_xfer_used FROM ftpquotatallies WHERE name = '%{0}' AND quota_type = '%{1}'"  
  86.  
  87.   SQLNamedQuery update-quota-tally UPDATE "bytes_in_usedbytes_in_used = bytes_in_used + %{0}, bytes_out_usedbytes_out_used = bytes_out_used  
  88.  
  89.   + %{1}, bytes_xfer_usedbytes_xfer_used = bytes_xfer_used + %{2}, files_in_usedfiles_in_used = files_in_used + %{3}, files_files_out_used = files_  
  90.  
  91.   out_used + %{4}, files_xfer_usedfiles_xfer_used = files_xfer_used + %{5} WHERE name = '%{6}' AND quota_type = '%{7}'" ftpquota  
  92.  
  93.   tallies  
  94.  
  95.   SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" ftpquotatallies  
  96.  
  97.   QuotaLimitTable sql:/get-quota-limit  
  98.  
  99.   QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally  
  100.  

  ok,就這么簡單,重啟一下proftp服務(wù)就已經(jīng)能使用proftp+mysql+quota的功能

  我們可以在數(shù)據(jù)庫ftpuser添加一個虛擬用戶,

  1.   INSERT INTO `ftpuser` VALUES (1, 'test', 'ftppasswd', 5500, 5500, '/home/test', '/sbin/nologin');  
  2.  

  大家可以在phpmyadmin里直接操作添加一個用戶,相信不用我教大家怎么添加吧:)

  如果你想設(shè)置quota,只要在ftpquotalimits表里設(shè)置一下就行了,這個表里的各個參數(shù)分別代表:

  quotalimits表name: - 用戶帳號

  quota type: - user, group, class, all (we use user)

  per_session: - true or false (we use true)

  limit_type: - 硬限制 or 軟限制 (我們一般用硬限制)

  bytes_in_avail: - 允許上傳的字節(jié)數(shù)

  bytes_out_avail: - 允許下載的字節(jié)數(shù)

  bytes_xfer_avail: - 允許傳輸?shù)淖止?jié)數(shù)(包括上傳/下載)

  files_in_avail: - 允許上傳的文件數(shù)

  files_out_avail: - 允許下載的文件數(shù)

  files_xfer_avail: - 允許傳輸?shù)奈募?shù)(包括上傳/下載)

  老實說用mysql和quota模塊來驗證用戶和設(shè)置磁盤限額,但我總覺得還是不夠完善,因為在這個方法中,數(shù)據(jù)庫表里還沒有相應(yīng)的權(quán)限的字段,所以說相應(yīng)用戶的權(quán)限還是得用實際得用戶即mysql對應(yīng)得uid和gid來控制權(quán)限,那天要是mysql數(shù)據(jù)庫也能完全控制權(quán)限就好了。

【編輯推薦】

  1. 用MySQL和Proftpd配置FTP服務(wù)器
  2. ProFTPD 下的五大問題
  3. Linux ProFTPd服務(wù)器配置(全)
  4. Ubuntu vsftpd服務(wù)安裝設(shè)置
  5. ProFTPD的啟動與測試
  6. ubuntu下proftp的編譯、安裝與測試
  7. ProFTPd的啟動
  8. 在圖形界面下控制ProFTPD
責任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-03-03 13:16:32

Proftpd配置文件

2011-03-03 10:06:13

ProftpdMysqlQuota

2011-02-22 10:08:46

ProFTPD配置

2011-03-03 13:00:21

2011-02-23 09:01:37

2011-02-22 14:50:53

ProFTPD

2011-02-24 13:15:59

2011-02-25 16:39:34

proftpd配置文件

2011-02-23 11:15:21

DebianProFTPd

2011-02-23 09:47:07

UbuntuProFTPdMySQL

2011-02-23 09:47:07

2011-02-25 12:30:01

ProFtpd配置

2011-02-23 10:43:17

2011-02-24 14:47:48

ProFTPD

2011-03-03 09:40:58

2011-03-03 10:32:28

ProftpdMysql管理

2011-03-08 17:04:10

ProFTPDUbuntu

2011-02-22 16:24:30

2011-03-07 17:15:52

ProFTPD配置

2011-03-03 10:49:37

Linux配置Proftpd
點贊
收藏

51CTO技術(shù)棧公眾號