成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Proftpd學習筆記之應用

系統 Linux
ProFTPD是一個Unix平臺、或Unix類(如Linux, FreeBSD等)FTP服務器程序,它是在自由軟件基金會版權聲明下開發、發布的免費軟件,即任何只要遵守自由軟件基金會版權聲明的人,都可以修改源始碼。從今天開始我為大家從頭到腳解析下Proftpd,今天講Proftpd的應用!

 

ProFTPD 

圖-ProFTPD

  今天我們講proftp+mysql+quota的應用,我想大家最期待的就是這個了吧

  1.首先我們建立相應的用戶和用戶組

  groupadd -g 5500 ftpgroup

  adduser -u 5500 -s /bin/false -d /bin/null -c "proftpd user" -g ftpgroup ftpuser

  2.操作數據庫

  mysql mysql -uroot -ppassword

  create database ftpdb

  grant select, update on ftpdb.* to proftpd@localhost identified by 'password'

  use ftpdb

  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';

  INSERT INTO `ftpgroup` VALUES ('ftpgroup', 5500, 'ftpuser');

  CREATE TABLE `ftpquotalimits` (

  `name` varchar(30) default NULL,

  `quota_type` enum('user','group','class','all') NOT NULL default 'user',

  `per_session` enum('false','true') NOT NULL default 'false',

  `limit_type` enum('soft','hard') NOT NULL default 'soft',

  `bytes_in_avail` float NOT NULL default '0',

  `bytes_out_avail` float NOT NULL default '0',

  `bytes_xfer_avail` float NOT NULL default '0',

  `files_in_avail` int(10) unsigned NOT NULL default '0',

  `files_out_avail` int(10) unsigned NOT NULL default '0',

  `files_xfer_avail` int(10) unsigned NOT NULL default '0'

  ) TYPE=MyISAM;

  CREATE TABLE `ftpquotatallies` (

  `name` varchar(30) NOT NULL default '',

  `quota_type` enum('user','group','class','all') NOT NULL default 'user',

  `bytes_in_used` float NOT NULL default '0',

  `bytes_out_used` float NOT NULL default '0',

  `bytes_xfer_used` float NOT NULL default '0',

  `files_in_used` int(10) unsigned NOT NULL default '0',

  `files_out_used` int(10) unsigned NOT NULL default '0',

  `files_xfer_used` int(10) unsigned NOT NULL default '0'

  ) TYPE=MyISAM;

  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`)

  ) TYPE=MyISAM COMMENT='ProFTP user table' ;

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

  3.配置proftp文件

  ServerName "Frank's FTP Server" ServerType standalone DefaultServer on

  Port 21

  Umask 022

  MaxInstances 30

  MaxLoginAttempts 3

  User nobody

  Group nobody

  MaxHostsPerUser 1 "Sorry, you may not connect more than one time."

  MaxClientsPerUser 2 "Only one such user at a time."

  MaxClientsPerHost 3 "Sorry, you may not connect more than one time."

  RootLogin off

  RequireValidShell off

  TimeoutStalled 10

  MaxClients 10

  AllowForeignAddress on

  AllowStoreRestart on

  ServerIdent off

  DefaultRoot ~ ftpgroup

  SQLAuthTypes Backend Plaintext

  #Backend表示用戶認證方式為MySQL數據庫的認證方式

  #Plaintext表示明文認證方式,排在最前面的為最先使用的方式

  SQLAuthenticate users* groups*

  # databasename@host database_user user_password

  SQLConnectInfo ftpdb@localhost proftpd password

  SQLUserInfo ftpuser userid passwd uid gid homedir shell

  SQLGroupInfo ftpgroup groupname gid members

  SQLHomedirOnDemand on

  #如果用戶主目錄不存在,則系統會根據此用戶在用戶數據表中的homedir字段的值新建一個目錄

  # Update count every time user logs in

  SQLLog PASS updatecount

  SQLNamedQuery updatecount UPDATE "count=count+1,accessed=now() WHERE userid='%u'" ftpuser

  # Update modified everytime user uploads or deletes a file

  SQLLog STOR,DELE modified

  SQLNamedQuery modified UPDATE "modified=now() WHERE userid='%u'" ftpuser

  QuotaEngine on

  QuotaDirectoryTally on

  QuotaDisplayUnits Mb

  QuotaShowQuotas on

  QuotaLog "/var/log/quota"

  SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type, bytes_in_avail, bytes_out_avai

  l, bytes_xfer_avail, files_in_avail, files_out_avail, files_xfer_avail FROM ftpquotalimits WHERE name = '%{0}'

  AND quota_type = '%{1}'"

  SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, bytes_xfer_used, files_i

  n_used, files_out_used, files_xfer_used FROM ftpquotatallies WHERE name = '%{0}' AND quota_type = '%{1}'"

  SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used + %{0}, bytes_out_used = bytes_out_used

  + %{1}, bytes_xfer_used = bytes_xfer_used + %{2}, files_in_used = files_in_used + %{3}, files_out_used = files_

  out_used + %{4}, files_xfer_used = files_xfer_used + %{5} WHERE name = '%{6}' AND quota_type = '%{7}'" ftpquota

  tallies

  SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" ftpquotatallies

  QuotaLimitTable sql:/get-quota-limit

  QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally

  ok,就這么簡單,重啟一下proftp服務就已經能使用proftp+mysql+quota的功能

  我們可以在數據庫ftpuser添加一個虛擬用戶,

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

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

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

  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: - 允許上傳的字節數

  bytes_out_avail: - 允許下載的字節數

  bytes_xfer_avail: - 允許傳輸的字節數(包括上傳/下載)

  files_in_avail: - 允許上傳的文件數

  files_out_avail: - 允許下載的文件數

  files_xfer_avail: - 允許傳輸的文件數(包括上傳/下載)

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

  大家如果覺得格式拷貝的時候可能會出錯的話,不妨直接下載我的配置文件和數據庫表

通過文章的詳細描述,想必大家都知道了Proftpd的應用情況,希望對大家有幫助!

【編輯推薦】

  1. Proftpd學習筆記之配置
  2. Proftpd學習筆記之命令與配置
  3. Proftpd學習筆記之基本安裝
  4. ProFTPD 畸形STAT指令參數遠程DoS缺陷
  5. proftpd支持上傳sfv校驗的方法
  6. FTP服務 Proftpd + mysql + quota
  7. 使用MySQL認證ProFTPD用戶需要什么
  8. Proftpd 大蝦的學習筆記

 

責任編輯:趙鵬 來源: 網絡轉載
相關推薦

2011-03-08 16:30:40

Proftpd

2011-03-08 16:15:22

Proftpd安裝

2011-03-08 16:30:30

Proftpd命令Proftpd配置

2011-03-08 15:01:08

Proftpd

2011-02-25 10:25:07

Proftpd

2011-02-25 10:36:12

Proftpd

2011-08-15 17:52:21

iPhone應用對象NSString

2011-09-09 11:05:56

Widget

2011-03-03 09:26:59

ProFTPD服務器管理

2011-09-09 13:59:17

Android wid

2011-08-09 17:29:29

iPhone文件屏幕

2011-02-22 14:50:53

ProFTPD

2011-08-19 15:16:41

XCodeUserScripts腳本

2011-09-07 16:36:00

Qt Widget

2011-08-08 14:57:46

iPhone Autoreleas Property

2009-06-18 11:25:26

Hibernate L

2011-09-14 15:30:00

MongoDB

2011-02-24 13:55:42

ProFTPD

2011-02-25 13:42:45

Proftpd

2011-03-02 17:42:09

Proftpd結構
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一区视频 | 成人在线观看网址 | 四虎成人免费电影 | 日本三级日产三级国产三级 | 国产欧美一区二区三区在线看 | 日韩在线看片 | k8久久久一区二区三区 | 国产精品美女 | 综合久久综合久久 | 日本一区二区三区精品视频 | 日韩av免费在线电影 | 野狼在线社区2017入口 | 日韩视频一级 | 日韩在线中文字幕 | av先锋资源 | 夜夜操av | 免费国产网站 | 理论片午午伦夜理片影院 | 成人国内精品久久久久一区 | 欧美日韩国产一区二区三区 | 亚洲国产精品va在线看黑人 | 欧美日韩亚洲国产综合 | 亚洲黄色国产 | av第一页 | 久久久久国产一区二区三区 | 祝你幸福电影在线观看 | 日韩在线资源 | 亚洲不卡在线观看 | 欧美成人a∨高清免费观看 老司机午夜性大片 | 午夜爱爱毛片xxxx视频免费看 | 精彩视频一区二区三区 | 精品国产欧美一区二区三区成人 | 午夜免费观看体验区 | 最新黄色在线观看 | 在线观看中文字幕视频 | 日本亚洲精品成人欧美一区 | 日韩视频在线一区 | 国产一区二区黑人欧美xxxx | 99热这里都是精品 | 国产一区欧美 | а天堂中文最新一区二区三区 |