偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

用MySQL和Proftpd配置FTP服務(wù)器

運(yùn)維 系統(tǒng)運(yùn)維
proftpd(Professional FTP daemon)是針對(duì)Wu-FTP的弱項(xiàng)而開發(fā)的。除了改進(jìn)的安全性,還有具備許多Wu-FTP沒有的特點(diǎn)。比如,能以Stand-alone、xinetd模式運(yùn)行。ProFTP不僅配置方便,而且有MySQL模塊,可利用它們的完美結(jié)合實(shí)現(xiàn)FTP服務(wù)器的配置。

  FTP(File Transfer Protocol)是internet中的一項(xiàng)常用而且重要的互聯(lián)網(wǎng)協(xié)議,廣泛應(yīng)用于internet中,然而傳統(tǒng)的FTP服務(wù)中的帳號(hào)都是用服務(wù)器中的系統(tǒng)用戶,這樣也為也會(huì)系統(tǒng)安全留下了隱患,用MySQL進(jìn)行用戶認(rèn)證,很好地避免這種隱患。它利用數(shù)據(jù)庫(kù)來提供用戶及其認(rèn)證,把FTP的帳號(hào)映射于系統(tǒng)用戶,從而避免了使用系統(tǒng)用戶。這樣可以達(dá)到比較安全的目的。

  用MySQL+Proftpd配置FTP服務(wù)器,需要有中間包mod_sql,本文所講的,假設(shè)你的服務(wù)器中已經(jīng)安裝好了MySQL,具體過程:

  一、獲起必須的安裝包

  proftpd-1.2.6.tar.gz 安裝包和Mod_sql安裝包可以在網(wǎng)上下載獲得。

  二、包的安裝

  解開安裝包:把proftpd-1.2.6.tar.gz 拷貝到/usr/local/src的目錄下,用命令:

  tar –gzvf proftpd-1.2.6.tar.gz

  解開,這時(shí)產(chǎn)生了一個(gè)proftpd-1.2.6 的目錄。然后進(jìn)入該目錄中的contrib目錄:

  cd proftpd-1.2.6/contrib/

  把中間包mod_sql拷貝到該目錄中,再解開:

  tar –gzvf mod_sql-4.0.8.tar.gz

  配置使Proftpd支持MySQL認(rèn)證:

  ./configure -with-modules=mod_sql:mod_sql_mysql \

  -with-includes=/usr/includes/mysql \

  -with-libraries=/usr/lib/mysql

  注意:-with-includes選項(xiàng)是指MySQL的頭文件所在的目錄;-with-libraries選項(xiàng)是指MySQL的庫(kù)文件所在的目錄。對(duì)于不同的環(huán)境可能會(huì)是不同的目錄。

  進(jìn)行編譯:

  make

  安裝:

  make install

  安裝完之后,可以按下列步驟進(jìn)行測(cè)試,Proftpd是否能正常工作:

  sh sample-configurations/PFTEST.install

  測(cè)試的所需要的臨時(shí)文件被放置在/tmp/PFTEST目錄中,運(yùn)行命令:

  ./proftpd –n –d 5 –c /tmp/PFTEST/PFTEST.conf

  如果能正常運(yùn)行,你可以發(fā)現(xiàn)有很多的信息而且最后一行會(huì)出現(xiàn):

  ProFTPD 1.2.6 (built ***) standalone mode STARTUP

  說明服務(wù)啟動(dòng)了,它用的端口是2021,你可以用用戶proftpd與密碼 proftpd進(jìn)行登錄測(cè)試。如果正常,你可以做下列準(zhǔn)備;否則要檢查安裝是否正確。

  三、為FTP服務(wù)建立相應(yīng)的數(shù)據(jù)庫(kù)及其表

  1、你可以為此服務(wù)建立專門的數(shù)據(jù)庫(kù),也可以放在其它的數(shù)據(jù)庫(kù)中。在此我專門建立一個(gè)專門的數(shù)據(jù)庫(kù)FTP:

  create database FTP;

  2、然后在這個(gè)數(shù)據(jù)庫(kù)中建立一個(gè)用戶表FTPUSERS,這個(gè)表是必須的:

  1.   use FTP;  
  2.  
  3.   create table FTPUSERS (  
  4.  
  5.   userid TEXT NOT NULL,  
  6.  
  7.   passwd TEXT NOT NULL,  
  8.  
  9.   uid INT NOT NULL,  
  10.  
  11.   gid INT NOT NULL,  
  12.  
  13.   home TEXT,  
  14.  
  15.   shell TEXT  
  16.  
  17.   );  
  18.  

  此表格是為了用戶認(rèn)證所需要的,其中userid、passwd是必不可少的,userid是用做FTP服務(wù)的用戶名;passwd是指此用戶的密碼;uid是系統(tǒng)用戶的ID,也就是所映射的系統(tǒng)用戶;gid是所屬系統(tǒng)組的ID;home是該用戶所在的HOME目錄;shell可以為該用戶指定相應(yīng)的shell。當(dāng)然你可以建立更多的字段,例如:用來記錄用戶登錄次數(shù)的count,或者是日期的date,如果你對(duì)配置熟悉了之后,你可以根據(jù)自己的喜歡添加更多的功能。在此就不多講。

  3、如果你想需要所有的功能,你還可以添加另外一個(gè)需要的表:FTPGRPS,也就是確定組的表格,當(dāng)然也可以不用,這里講一個(gè)它的格式:

  1.   create table FTPGRPS (  
  2.  
  3.   grpname TEXT NOT NULL,  
  4.  
  5.   gid SMALLINT NOT NULL,  
  6.  
  7.   members TEXT NOT NULL,  
  8.  
  9.   );  
  10.  

  其中g(shù)rpname是組的名稱,gid是系統(tǒng)組的ID,members是組的成員。注意:多成員,他們之間要用逗號(hào)隔開,不能使用空格。

  4、為空表格插入記錄:

  INSERT INTO FTPUSERS (userid, passwd, uid, gid, home, shell)

  VALUES (‘user1’, ‘999999’, ‘1000’, ‘1000’, ‘/home/ftp/user1’, ‘’);

  按此格式你可以插入這每一個(gè)用戶添加一個(gè)記錄。

  如果你要想應(yīng)用到更多的功能,且建立了組的表格,你也要為此添加記錄,不過一定要注意在members的字段多個(gè)成員一定要用逗號(hào)隔開。

  四、為FTP用戶建立相應(yīng)的系統(tǒng)用戶

  在本例中,只整個(gè)FTP服務(wù)只提供一個(gè)有效的系統(tǒng)用戶FTPUSR和組FTPGRP,當(dāng)然你也可以設(shè)置多個(gè)系統(tǒng)用戶。但出于安全的考慮,我只設(shè)一個(gè),用他來啟動(dòng)FTP daemon,并把所有的FTP用戶映射過這個(gè)用戶。

  先建立FTPGRP組:

  1.   groupadd –g 1000 –r FTPGRP  
  2.  

  建立FTPUSR用戶:

  adduser –u 1000 –g 1000 –d /home/FTP –s /bin/bash –r FTPUSR

  為FTPUSR建立HOME,把所有的FTP user 活動(dòng)空間全放在此目錄下:

  mkdir /home/FTP

  chown FTPUSR /home/FTP

  chgrp FTPGRP /home/FTP

  五、設(shè)置配置文件

  Proftpd的配置文件proftpd.conf在/usr/local/etc/目錄下,針對(duì)不用的認(rèn)證可以使用不同的配置文件。使用MySQL認(rèn)證,可以把mod_sql.conf拷貝到/usr/local/etc下面并將其改名為proftpd.conf。

  修改proftpd.conf文件,具體內(nèi)容如下:

  #設(shè)置FTP服務(wù)器的名稱:

  ServerName“My FTP Server”

  #設(shè)置FTP服務(wù)器的類型:

  ServerTypestandalone

  DefaultServeron

  #設(shè)置根,可以限制用戶在某個(gè)地方活動(dòng),增強(qiáng)服務(wù)器的安全性。

  DefaultRoot~

  #設(shè)置FTP服務(wù)端口號(hào),標(biāo)準(zhǔn)的FTP服務(wù)端口是21。

  Port21

  #設(shè)置新建文件或目錄時(shí),設(shè)置權(quán)限的掩碼:

  Umask022

  #設(shè)置系統(tǒng)日志文件:

  SystemLog/var/log/ftp.syslog

  #設(shè)置記錄文件傳輸?shù)娜罩疚募?/p>

  TransferLog/var/log/ftp.transferlog

  #設(shè)置最大的嘗試登錄的次數(shù),如果超過自動(dòng)斷開連接:

  MaxLoginAttempts3

  #設(shè)置MySQL認(rèn)證:

  

  #數(shù)據(jù)庫(kù)聯(lián)接的信息,DatabaseName是數(shù)據(jù)庫(kù)名, HostName是主機(jī)名,

  #Port是端口號(hào),UserName是連接數(shù)據(jù)庫(kù)的用戶名,Password是密碼。

  SQLConnectInfo DatabaseName@HostName:Port UserName Password

  #我的實(shí)例是SQLConnectInfo zhuhai@localhost root ******

  #數(shù)據(jù)庫(kù)認(rèn)證的類型:

  SQLAuthTypesBackend Plaintext

  #指定用來做用戶認(rèn)證的表的有關(guān)信息。

  SQLUserInfo FTPUSERS userid passwd uid gid home shell

  #設(shè)置如果shell為空時(shí)允許用戶登錄:

  RequireValidShelloff

  #數(shù)據(jù)庫(kù)的鑒別,這里是用于用戶的方式:

  SQLAuthenticateusers

  #如果home目錄不存在,則系統(tǒng)會(huì)為根據(jù)它的home項(xiàng)新建一個(gè)目錄:

  SQLHomedirOnDemand on

  

  #防止DoS攻擊,設(shè)置最大的了進(jìn)程:

  MaxInstances30

  #設(shè)置正常服務(wù)的系統(tǒng)用戶與組:

  UserFTPUSR

  GroupFTPGRP

  #設(shè)置用戶登錄時(shí)顯示的信息及進(jìn)入各個(gè)子目錄中的信息:

  DisplayLoginwelcome.msg

  DisplayFirstChdir.message

  #設(shè)置最大的登錄數(shù):

  MaxClients10

  #支持?jǐn)帱c(diǎn)續(xù)傳:

  AllowRetrieveRestarton

  六、測(cè)試

  完成了文件的配置,你可以啟動(dòng)Proftpd服務(wù)了,用來測(cè)試是否成功:

  /usr/local/sbin/proftpd –n

  這里你可以發(fā)現(xiàn)服務(wù)已經(jīng)啟動(dòng)了,你可以在其它的地方進(jìn)行登錄,如果按上述的配置你就可以使用FTP服務(wù)了,不過我在測(cè)試的時(shí)候真的花了不少的時(shí)間。如果沒成功沒關(guān)系,仔細(xì)檢查一下自己在那個(gè)地方出現(xiàn)問題。如果在前面的測(cè)試成功了,則在配置文件中出現(xiàn)的問題可能會(huì)比較大,當(dāng)然數(shù)據(jù)庫(kù)中的FTPUSERS表的內(nèi)容不能出現(xiàn)錯(cuò)誤。

  七、腳本的編寫

  好了,一切都成功了,下面就寫一個(gè)腳本來啟到FTP服務(wù)。如果你使用的服務(wù)器的類型是”ServerType inetd”, 如果用的是inetd服務(wù),需要修改/etc/inetd.conf文件,增加一行:

  ftp streamtcpnowaitroot/usr/local/sbin/proftpd proftpd

  如果是用xinetd服務(wù),則需要在/etc/xinetd.d/的目錄下增加一個(gè)文件:proftpd

  如果選用的”ServerType standalone”,則需在在/etc/rc.d/init.d/目錄下面增加一個(gè)proftpd 腳本

  八、總結(jié)

  終于完成了所有的步驟,Proftp+MySQL用起來感覺不錯(cuò)的,而且通過數(shù)據(jù)庫(kù)可以做到很多的功能,例如:用來記錄用戶的登錄的次數(shù),設(shè)置起來也不怎么復(fù)雜,只需要在FTPUSERS表中添加field count,就可以輕松實(shí)現(xiàn)。不過以上的步驟只是一個(gè)基本的功能,要擴(kuò)展其它的功能可以參考,安裝包中自帶的說明文件。

【編輯推薦】

  1. ProFTPD.conf的詳細(xì)配置方法
  2. ProFTPD 下的五大問題
  3. Linux ProFTPd服務(wù)器配置(全)
  4. ProFTPD的配置文件proftpd.conf
  5. ProFTPD的啟動(dòng)與測(cè)試
  6. 手把手教你 配置ProFTPD服務(wù)器
  7. ProFTPd的啟動(dòng)
  8. 在圖形界面下控制ProFTPD
責(zé)任編輯:zhaolei 來源: 網(wǎng)絡(luò)轉(zhuǎn)載
相關(guān)推薦

2011-03-03 09:40:58

2011-02-25 16:14:09

proftpdftp

2011-03-07 17:04:02

ProftpdFTP

2011-02-23 10:18:51

CentosProFTPD

2011-02-22 09:06:57

2011-03-08 15:47:57

Proftpdmysqlquota

2011-02-25 16:14:09

proftpdftp

2011-02-25 15:38:58

2011-02-23 12:18:28

DebianProFTPd服務(wù)器

2011-02-22 10:55:13

ProFTPd服務(wù)器配置

2011-02-24 13:33:35

ProFTPDFTP

2011-02-25 16:26:17

2011-02-25 16:34:01

LinuxProftpdFTP

2011-03-03 14:04:08

ProftpdFtp server

2011-02-22 17:42:26

2011-03-02 16:49:53

Pureftpdmysql

2011-02-22 15:09:32

ProFTPD服務(wù)器

2011-03-01 15:30:52

用MySQLProftpd

2011-02-25 10:58:01

PROFTPD命令

2010-07-01 14:22:02

配置FTP服務(wù)器
點(diǎn)贊
收藏

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