国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

配置FTP服務器(MySQL+Proftpd)

運維 系統運維
用MySQL和Proftpd配置FTP服務器:FTP是Internet的一項互聯網協議。傳統的FTP服務中的帳號用的是服務器中的系統用戶,然而這樣就為安全留下了隱患。我們可以用MySQL進行用戶認證,來避免這種隱患。本文講述的就是如何利用MySQL和Proftpd配置FTP服務器。

  用MySQL+Proftpd配置FTP服務器。FTP(File Transfer Protocol)是internet中的一項常用而且重要的互聯網協議,廣泛應用于internet中,然而傳統的FTP服務中的帳號都是用服務器中的系統用戶,這樣也為也會系統安全留下了隱患,用MySQL進行用戶認證,很好地避免這種隱患。它利用數據庫來提供用戶及其認證,把FTP的帳號映射于系統用戶,從而避免了使用系統用戶。這樣可以達到比較安全的目的。

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

  一、獲起必須的安裝包(mod_sql,proftpd)。

  Proftpd的安裝包可以通過http://www.proftpd.net 獲得,注意要支持MySQL認證最低的版本為1.2.5。

  Mod_sql安裝包可以通過http://www.lastditcheffort.org/~aah/proftpd/mod_sql/ 獲得。

  二、包的安裝

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

  tar -gzvf proftpd-1.2.8.tar.gz

  解開,這時產生了一個proftpd-1.2.8 的目錄。然后進入該目錄中的contrib目錄:

  cd proftpd-1.2.8/contrib/

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

  tar -gzvf mod_sql-4.0.8.tar.gz

  配置使Proftpd支持MySQL認證:

  ./configure -with-modules=mod_sql:mod_sql_mysql -with-includes=/usr/includes/mysql with-libraries=/usr/lib/mysql

  注意:-with-includes選項是指MySQL的頭文件所在的目錄;-with-libraries選項是指MySQL的庫文件所在的目錄。對于不同的環境可能會是不同的目錄。

  進行編譯:

  1.   make  
  2.  

  安裝:

  1.   make install  
  2.  

  安裝完之后,可以按下列步驟進行測試,Proftpd是否能正常工作:

  1.   sh sample-configurations/PFTEST.install  
  2.  

  測試的所需要的臨時文件被放置在/tmp/PFTEST目錄中,運行命令:

  1.   ./proftpd -n -d 5 -c /tmp/PFTEST/PFTEST.conf  
  2.  

  如果能正常運行,你可以發現有很多的信息而且最后一行會出現:

  1.   ProFTPD 1.2.8 (built ***) standalone mode STARTUP  
  2.  

  說明服務啟動了,它用的端口是2021,你可以用用戶proftpd與密碼 proftpd進行登錄測試。如果正常,你可以做下列準備;否則要檢查安裝是否正確。

#p#

  三、為FTP服務建立相應的數據庫及其表

  1、你可以為此服務建立專門的數據庫,也可以放在其它的數據庫中。在此我專門建立一個專門的數據庫FTP:

  create database FTP;

  2、然后在這個數據庫中建立一個用戶表FTPUSERS,這個表是必須的:

  use FTP;

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

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

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

  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.  

  其中grpname是組的名稱,gid是系統組的ID,members是組的成員。注意:多成員,他們之間要用逗號隔開,不能使用空格。

  4、為空表格插入記錄:

 

  1.   INSERT INTO FTPUSERS (userid, passwd, uid, gid, home, shell)  
  2.  
  3.   VALUES ('user1''999999''1000''1000''/home/ftp/user1'"");  
  4.  

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

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

#p#

  四、為FTP用戶建立相應的系統用戶

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

  先建立FTPGRP組:

  groupadd -g 1000 -r FTPGRP

  建立FTPUSR用戶:

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

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

  mkdir /home/FTP

  chown FTPUSR /home/FTP

  chgrp FTPGRP /home/FTP

#p#

  五、設置配置文件

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

  修改proftpd.conf文件,具體內容如下:

  #設置FTP服務器的名稱:

  ServerName"My FTP Server"

  #設置FTP服務器的類型:

  ServerType standalone

  DefaultServer on

  #設置根,可以限制用戶在某個地方活動,增強服務器的安全性。

  DefaultRoot ~

  #設置FTP服務端口號,標準的FTP服務端口是21。

  Port 21

  #設置新建文件或目錄時,設置權限的掩碼:

  Umask 022

  #設置系統日志文件:

  SystemLog /var/log/ftp.syslog

  #設置記錄文件傳輸的日志文件:

  TransferLog /var/log/ftp.transferlog

  #設置最大的嘗試登錄的次數,如果超過自動斷開連接:

  MaxLoginAttempts 3

  #設置MySQL認證:

  #數據庫聯接的信息,DatabaseName是數據庫名, HostName是主機名,

  #Port是端口號,UserName是連接數據庫的用戶名,Password是密碼。

  SQLConnectInfo DatabaseName@HostName:Port UserName Password

  #例如SQLConnectInfo proftpd@localhost root 123456

  #數據庫認證的類型:

  SQLAuthTypes Backend Plaintext

  #指定用來做用戶認證的表的有關信息。

  SQLUserInfo FTPUSERS userid passwd uid gid home shell

  #設置如果shell為空時允許用戶登錄:

  RequireValidShell off

  #數據庫的鑒別,這里是用于用戶的方式:

  SQLAuthenticate users

  #如果home目錄不存在,則系統會為根據它的home項新建一個目錄:

  SQLHomedirOnDemand on

  #防止DoS攻擊,設置最大的了進程:

  MaxInstances 30

  #設置正常服務的系統用戶與組:

  User FTPUSR

  Group FTPGRP

  #設置用戶登錄時顯示的信息及進入各個子目錄中的信息:

  DisplayLogin welcome.msg

  DisplayFirst Chdir.message

  #設置最大的登錄數:

  MaxClients 10

  #支持斷點續傳:

  AllowRetrieveRestart on

#p#

  六、測試

  完成了文件的配置,你可以啟動Proftpd服務了,用來測試是否成功:

  /usr/local/sbin/proftpd -n

  這里你可以發現服務已經啟動了,你可以在其它的地方進行登錄,如果按上述的配置你就可以使用FTP服務了,不過我在測試的時候真的花了不少的時間。如果沒成功沒關系,仔細檢查一下自己在那個地方出現問題。如果在前面的測試成功了,則在配置文件中出現的問題可能會比較大,當然數據庫中的FTPUSERS表的內容不能出現錯誤。

  七、腳本的編寫

  一切都成功了,下面就寫一個腳本來啟到FTP服務。

  如果你使用的服務器的類型是"ServerType inetd", 如果用的是inetd服務,需要修改/etc/inetd.conf文件,增加一行:

  ftp streamtcpnowaitroot/usr/local/sbin/proftpd proftpd

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

  具體的內容如下:

 

  1.   service ftp  
  2.  
  3.   {  
  4.  
  5.   flags=REUSE 
  6.  
  7.   socket_type=stream 
  8.  
  9.   instances=30 
  10.  
  11.   wait=no 
  12.  
  13.   user=root 
  14.  
  15.   server=/usr/local/sbin/proftpd  
  16.  
  17.   log_on_success=HOST PID  
  18.  
  19.   log_on_failure=HOST RECORD  
  20.  
  21.   }  
  22.  

  如果選用的"ServerType standalone",則需在在/etc/rc.d/init.d/目錄下面增加一個proftpd 腳本,具體內容如下:

  1.   #!/bin/bash  
  2.  
  3.   #  
  4.  
  5.   # Startup script for the proftpd FTP server  
  6.  
  7.   . /etc/rc.d/init.d/functions  
  8.  
  9.   proftpd=/usr/local/sbin/proftpd  
  10.  
  11.   prog=proftpd 
  12.  
  13.   RETVAL=0 
  14.  
  15.   start() {  
  16.  
  17.   echo -n $"Starting $prog:"  
  18.  
  19.   daemon $proftpd  
  20.  
  21.   RETVAL=$?  
  22.  
  23.   echo  
  24.  
  25.   [ $RETVAL -eq 0 ] && touch /var/lock/subsys/proftpd  
  26.  
  27.   return $RETVAL  
  28.  
  29.   }  
  30.  
  31.   stop() {  
  32.  
  33.   echo -n $"Stopping $prog:"  
  34.  
  35.   killproc proftpd  
  36.  
  37.   RETVAL=$?  
  38.  
  39.   echo  
  40.  
  41.   [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/proftpd  
  42.  
  43.   return $RETVAL  
  44.  
  45.   }  
  46.  
  47.   # See how we were called  
  48.  
  49.   case "$1" in  
  50.  
  51.   start)  
  52.  
  53.   start  
  54.  
  55.   ;;  
  56.  
  57.   stop)  
  58.  
  59.   stop  
  60.  
  61.   ;;  
  62.  
  63.   status)  
  64.  
  65.   status $proftpd  
  66.  
  67.   RETVAL=$?  
  68.  
  69.   ;;  
  70.  
  71.   restart)  
  72.  
  73.   stop  
  74.  
  75.   start  
  76.  
  77.   ;;  
  78.  
  79.   *)  
  80.  
  81.   echo $"Usage: $prog {start|stop|status|restart}"  
  82.  
  83.   exit 1  
  84.  
  85.   esac  
  86.  
  87.   exit $RETVAL  
  88.  

#p#

  八、總結

  終于完成了所有的步驟,Proftp+MySQL用起來感覺不錯的,而且通過數據庫可以做到很多的功能。例如:用來記錄用戶的登錄的次數,設置起來也不怎么復雜,只需要在FTPUSERS表中添加field count,就可以輕松實現。不過以上的步驟只是一個基本的功能,要擴展其它的功能可以參考,安裝包中自帶的說明文件。大家學會如何利用MySQL和Proftpd配置FTP服務器了么?

【編輯推薦】

  1. Linux下Proftpd搭建FTP服務器的高級設置
  2. ProFTPD 下的五大問題
  3. Linux ProFTPd服務器配置(全)
  4. ProFTPD的配置文件proftpd.conf
  5. ProFTPD的啟動與測試
  6. 手把手教你 配置ProFTPD服務器
  7. 用Proftpd構建Ttp服務器
  8. 在圖形界面下控制ProFTPD
責任編輯:zhaolei 來源: CSDN
相關推薦

2011-02-23 09:01:37

2011-03-07 17:04:02

ProftpdFTP

2011-02-23 10:18:51

CentosProFTPD

2011-02-25 16:14:09

proftpdftp

2011-02-22 09:06:57

2011-03-08 15:47:57

Proftpdmysqlquota

2011-02-25 15:38:58

2011-02-23 12:18:28

DebianProFTPd服務器

2011-02-22 10:55:13

ProFTPd服務器配置

2011-02-24 13:33:35

ProFTPDFTP

2011-02-25 16:26:17

2011-02-25 16:34:01

LinuxProftpdFTP

2011-02-22 17:42:26

2011-02-25 10:58:01

PROFTPD命令

2011-02-22 15:09:32

ProFTPD服務器

2015-08-04 13:29:06

Fedoralinux

2010-07-01 13:09:46

FTP服務器

2011-03-04 10:03:44

VSFTPD虛擬服務器

2011-03-08 15:16:02

2011-02-25 16:14:09

proftpdftp
點贊
收藏

51CTO技術棧公眾號

精品国产一二三区| 欧美黄色小视频| 992tv成人国产福利在线| 国产一区在线精品| 免费观看成人在线| 欧美jjzz| 亚洲一区二区在线播放| 精品欧美激情在线观看| 欧美一级黄色网| 凹凸av导航大全精品| www.亚洲一区| 日韩一区二区三区四区五区| 国产午夜精品一区二区三区| 福利小视频在线| 精品久久人人做人人爰| 在线观看免费高清完整| 欧美私模裸体表演在线观看| 免费理论片在线观看播放老| 欧美色视频日本版| 日韩大胆视频| 午夜精品福利视频网站| 中文字幕视频免费在线观看| 亚洲精品高清在线| 超碰在线免费| 欧美视频国产精品| 国产资源在线观看| 欧美性猛交xxxxxx富婆| 91成人高清| 日韩视频一区二区| 日本在线影院| 亚洲欧美日韩视频一区| 成人不卡视频| 欧美放荡办公室videos4k| 久久a爱视频| 国产成人精品一区| 97视频热人人精品免费| 麻豆亚洲一区| 国内精品写真在线观看| 1024av视频| 国产精品短视频| 久草在线资源视频| 欧美日韩1区2区| 忘忧草在线日韩www影院| 中文字幕欧美国内| 欧美日韩破处| 国产98在线|日韩| 日韩电影在线免费观看| 国内精品国产三级国产99| thepron国产精品| 东北一级毛片| 欧美色图12p| 欧美精选视频一区二区| 8050国产精品久久久久久| 亚洲人体av| 国产高潮呻吟久久久| 国产欧美一区二区精品仙草咪| 天堂社区日本电影超碰| 日韩欧美一级精品久久| 国产精品色婷婷在线观看| 国产精品视频区| 国产精品亚洲综合久久| 岛国大片在线播放| 五月天中文字幕一区二区| 国产精品va在线观看视色| 色噜噜国产精品视频一区二区| 国产精品中文字幕亚洲欧美| 欧美久久久久久一卡四| 久久综合五月天婷婷伊人| 桃乃木香奈av在线| 日韩成人在线视频| 国产成人三级| 异国色恋浪漫潭| 亚洲精品视频自拍| 2018av在线| 国产精品九九九| 国产在线不卡一区| 黄色直播在线| 亚洲欧美国产精品va在线观看| 九九热精品视频在线观看| 亚洲视频在线二区| 亚洲图片自拍偷拍| 国产欧美va欧美va香蕉在线| 日韩精品诱惑一区?区三区| 宅男在线精品国产免费观看| 亚洲桃色在线一区| a欧美人片人妖| 亚洲字幕在线观看| 久久精品男人天堂av| 在线黄色网页| 国产精品日韩欧美| 91香蕉视频在线| 黄在线免费看| 国产精品永久免费在线| 99精品在线免费| 超碰在线97国产| 国产在线视频欧美| 欧美激情综合在线| 日韩性xxx| 日本欧美色综合网站免费| 亚洲午夜电影网| 国产精东传媒成人av电影| 国产免费xxx| 日韩一区二区在线看| 自拍偷拍欧美专区| 2020中文字字幕在线不卡| 尤物精品国产第一福利三区| 欧美在线综合| 国产乱子伦三级在线播放| 欧美性视频在线| 26uuuu精品一区二区| 欧美国产大片| 伊人久久大香线蕉精品| 欧美日本一道本| 午夜影院欧美| 伊人网在线视频| 国产精品第一视频| 综合电影一区二区三区| 日本亚洲视频| 国产无套粉嫩白浆内谢的出处| 亚洲性夜色噜噜噜7777| 精品无人区卡一卡二卡三乱码免费卡 | 美女的胸无遮挡在线观看 | 免费动漫网站在线观看| 国产麻豆日韩| 欧美精品一二三四| av高清久久久| 亚洲在线播放| 日本1区2区3区中文字幕| 久久国产精品久久久| 精品一区二区三区香蕉蜜桃| 在线heyzo| 亚洲 国产 欧美一区| 在线电影国产精品| 国产欧美三级| 午夜小视频在线观看| 日韩国产高清一区| 精品国精品国产尤物美女| 日本不卡在线视频| 美女高潮在线观看| 91成人综合网| 欧美成人精品影院| 亚洲特黄一级片| 亚洲a在线视频| 日本视频不卡| 日本一区二区免费看| 日韩av影视在线| www99avcom| 91精品国产综合久久香蕉922| 午夜视频一区二区三区| 国产一区观看| 18在线观看的| 肉大捧一出免费观看网站在线播放| 亚洲区中文字幕| 久久精品欧美一区二区三区不卡| 国产一区二区三区亚洲| 黄色直播在线| 热re99久久精品国产99热| 亚洲三级 欧美三级| 国产午夜久久久久| 欧美伦理影院| 亚洲制服国产| 日韩有码免费视频| 成人a级免费视频| 日韩美女主播在线视频一区二区三区 | 91淫黄看大片| 欧美视频一区二区| 韩国女主播一区二区| 免费av网址在线| 国产精品狼人色视频一区| 欧美优质美女网站| 国产一区二区三区四区五区美女| 日韩三区四区| 国内在线高清免费视频| 国产成人一区二区三区免费看| 精品福利av导航| 国产性做久久久久久| 综合激情一区| 精品日韩视频| 国产超碰在线观看| 欧美日韩天天操| 久久久成人的性感天堂| 亚洲3atv精品一区二区三区| 国产精品久久777777毛茸茸| 免费视频观看成人| 中文在线一二区| 中文字幕在线亚洲三区| 欧美在线视频免费播放| 欧美一区二区三区四区久久| 久久久久久久久久久99999| 中文字幕一区二区三区乱码图片| 亚洲欧美一区二区三区| 成年人视频免费看| 正在播放一区二区三区| 欧美一区视频在线| 亚洲高清免费观看高清完整版| 亚洲婷婷国产精品电影人久久| 日韩av网站免费在线| 中文字幕精品影院| av午夜在线观看| 小小水蜜桃在线观看|