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

Proftpd安裝手冊(Ubuntu)

運維 系統運維
Proftpd安裝手冊:ProFTPD目標是實現一個安全且易于設定的FTP Server,Proftpd不僅針對Wu-Ftp改進了許多問題,而且還有許多新的功能。那么Proftpd的配置文件是怎樣的呢?本文將一一簡述。Proftpd安裝手冊:

  操作系統版本:Ubuntu8.10server(intrepid)

  linux核心:2.6.27-7-server

  MySQL 在安裝操作系統時已經選擇安裝(或者安裝完系統后進行在線安裝:apt-get install mysql-server mysql-client)

  一、安裝proftpd

       這里安裝的是1.3.2(解決中文字符顯示問題)

  編譯安裝步驟如下:

  1、切換到用戶本地源目錄:cd /usr/local/src

  2、下載源文件:wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.2.tar.gz

  3、解壓:tar -zxvf proftpd-1.3.2.tar.gz

  4、安裝gcc編譯套件:apt-get install build-essential

  5、安裝更新gcc:apt-get install gcc

  6

  1. 、./configure --enable-shadow --enable-autoshadow --enable-dso --enable-nls --with-modules=mod_ifsession:mod_sql:mod_sql_mysql:mod_quotatab:mod_quotatab_sql  
  2.  
  3.   --with-includes=/usr/include/mysql --with-libraries=/usr/lib/  
  4.  
  5.   (--with-includes=MySQL服務器includes所在的位置,用到mysql.h;  
  6.  
  7.   --with-libraries=MySQL服務器libraries所在的位置,用到libmysqlclient.a)  
  8.  

  7、make

  8、make install

  9、make clean(重新編譯用,***次跳過,重復6-8步驟)

  10、制作開機啟動腳本:vi /etc/init.d/proftpd

  粘貼如下代碼:

  1.   #!/bin/sh  
  2.  
  3.   # ProFTPD files  
  4.  
  5.   FTPD_BIN=/usr/local/sbin/proftpd  
  6.  
  7.   FTPD_CONF=/usr/local/etc/proftpd.conf  
  8.  
  9.   PIDFILE=/usr/local/var/proftpd.pid  
  10.  
  11.   # If PIDFILE exists, does it point to a proftpd process?  
  12.  
  13.   if [ -f $PIDFILE ]; then  
  14.  
  15.   pid=`cat $PIDFILE`  
  16.  
  17.   fi  
  18.  
  19.   if [ ! -x $FTPD_BIN ]; then  
  20.  
  21.   echo "$0: $FTPD_BIN: cannot execute"  
  22.  
  23.   exit 1  
  24.  
  25.   fi  
  26.  
  27.   case $1 in  
  28.  
  29.   start)  
  30.  
  31.   if [ -n "$pid" ]; then  
  32.  
  33.   echo "$0: proftpd [PID $pid] already running"  
  34.  
  35.   exit  
  36.  
  37.   fi  
  38.  
  39.   if [ -r $FTPD_CONF ]; then  
  40.  
  41.   echo "Starting proftpd..."  
  42.  
  43.   $FTPD_BIN -c $FTPD_CONF  
  44.  
  45.   else  
  46.  
  47.   echo "$0: cannot start proftpd -- $FTPD_CONF missing"  
  48.  
  49.   fi  
  50.  
  51.   ;;  
  52.  
  53.   stop)  
  54.  
  55.   if [ -n "$pid" ]; then  
  56.  
  57.   echo "Stopping proftpd..."  
  58.  
  59.   kill -TERM $pid  
  60.  
  61.   else  
  62.  
  63.   echo "$0: proftpd not running"  
  64.  
  65.   exit 1  
  66.  
  67.   fi  
  68.  
  69.   ;;  
  70.  
  71.   restart)  
  72.  
  73.   if [ -n "$pid" ]; then  
  74.  
  75.   echo "Rehashing proftpd configuration"  
  76.  
  77.   kill -HUP $pid  
  78.  
  79.   else  
  80.  
  81.   echo "$0: proftpd not running"  
  82.  
  83.   exit 1  
  84.  
  85.   fi  
  86.  
  87.   ;;  
  88.  
  89.   *)  
  90.  
  91.   echo "usage: $0 {start|stop|restart}"  
  92.  
  93.   exit 1  
  94.  
  95.   ;;  
  96.  
  97.   esac  
  98.  
  99.   exit 0  
  100.  

  11、給proftpd設置非root用戶的可執行權限:chmod +x proftpd

  12、安裝啟動服務管理程序:apt-get install sysv-rc-conf

  13、sysv-rc-conf設置proftpd開機自啟動

#p#

  二、配置proftpd.conf文件

  1、客戶端支持GBK編碼:UseEncoding UTF-8 GBK

  2、加快登陸速度:IdentLookups off

  UseReverseDNS off

  3、定義登錄歡迎消息文件:

  DisplayLogin /usr/local/etc/ftplogin.msg

  4、權限控制:(未解決中文登錄名權限控制)

  5、MySQL驗證:

  1.   #-------- load sql.mod for mysql authoritative --------#  
  2.  
  3.   #配置FTP用戶為MySQL數據庫認證方式  
  4.  
  5.   #SQLConnectInfo databaseName@hostName:port userName password 
  6.  
  7.   SQLConnectInfo proftpd@localhost ftpuser 123456  
  8.  
  9.   #Backend表示用戶認證方式為MySQL數據庫的認證方式  
  10.  
  11.   #Plaintext表示明文認證方式,排在最前面的為***使用的方式  
  12.  
  13.   SQLAuthTypes Backend Plaintext  
  14.  
  15.   #校驗數據表  
  16.  
  17.   #SQLAuthenticate users groups usersetfast groupsetfast  
  18.  
  19.   SQLAuthenticate users  
  20.  
  21.   #指定ftp用戶數據表的名字和其中的字段名,表名可自行定義,字段名不要改動。  
  22.  
  23.   SQLUserInfo ftpusers userid passwd uid gid homedir shell  
  24.  
  25.   #指定ftp用戶組數據表的名字和其中的字段名,這個數據表是可選的,字段名不要改動。  
  26.  
  27.   #SQLGroupInfo ftpGroup groupname gid members  
  28.  
  29.   #指定是否必須為FTP用戶指定一個系統shell,off表示不用指定,on表示必須指定。為了系統安全應該指定為off。  
  30.  
  31.   RequireValidShell off 
  32.  
  33.   #如果用戶主目錄不存在,則系統會根據此用戶在用戶數據表中的homedir字段的值新建一個目錄  
  34.  
  35.   #SQLHomedirOnDemand on 
  36.  
  37.   SQLNegativeCache on 
  38.  
  39.   SQLLogFile /var/log/proftpd.sql.log  
  40.  
  41.   #用戶登錄歡迎窗口中顯示登錄用戶已訪問次數  
  42.  
  43.   SQLNamedQuery getlogins SELECT "login_counts from ftpusers where userid='%u'" 
  44.  
  45.   SQLNamedQuery updatelogins UPDATE "login_counts=login_counts+1 WHERE userid='%u'" ftpusers  
  46.  
  47.   SQLShowInfo PASS "230" "You've logged on %{getlogins} times!" 
  48.  
  49.   SQLLog PASS updatelogins  
  50.  
  51.   #-------- load sql.mod for mysql authoritative --------#  
  52.  

  6、磁盤配額:

  1.   #-------- load qudes.mod for Quota limit --------#  
  2.  
  3.   #打開磁盤限額引擎  
  4.  
  5.   QuotaEngine on 
  6.  
  7.   #設置磁盤限額  
  8.  
  9.   QuotaDirectoryTally on 
  10.  
  11.   #設置磁盤容量顯示時的單位  
  12.  
  13.   QuotaDisplayUnits Mb  
  14.  
  15.   #設置磁盤限額日志文件  
  16.  
  17.   QuotaLog "/var/log/proftpd.quota.log" 
  18.  
  19.   #允許顯示磁盤限額信息,ftp登錄后可執行quote site quota命令查看當前磁盤使用情況  
  20.  
  21.   QuotaShowQuotas on 
  22.  
  23.   #指定磁盤限額模塊使用的數據庫信息  
  24.  
  25.   SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type, bytes_in_avail, \  
  26.  
  27.   bytes_out_avail, bytes_xfer_avail, files_in_avail, files_out_avail, files_xfer_avail FROM quotalimits \  
  28.  
  29.   WHERE name = '%{0}' AND quota_type = '%{1}'"  
  30.  
  31.   SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, \  
  32.  
  33.   bytes_xfer_used, files_in_used, files_out_used, files_xfer_used FROM quotatallies \  
  34.  
  35.   WHERE name = '%{0}' AND quota_type = '%{1}'"  
  36.  
  37.   SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used + %{0}, \  
  38.  
  39.   bytes_out_used = bytes_out_used + %{1}, bytes_xfer_used = bytes_xfer_used + %{2}, \  
  40.  
  41.   files_in_used = files_in_used + %{3}, files_out_used = files_out_used + %{4}, \  
  42.  
  43.   files_xfer_used = files_xfer_used + %{5} \  
  44.  
  45.   WHERE name = '%{6}' AND quota_type = '%{7}'" quotatallies  
  46.  
  47.   SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" quotatallies  
  48.  
  49.   QuotaLimitTable sql:/get-quota-limit  
  50.  
  51.   QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally  
  52.  
  53.   #--------- load qudes.mod for Quota limit --------#  
  54.  

#p#

  三、建立FTP用戶認證相關表

  1、默認root用戶只能從本地登陸,新建admin用戶:

  1.   shell>mysql -u root -p  
  2.  
  3.   password: ********  
  4.  
  5.   mysql>GRANT ALL PRIVILEGES ON *.* TO admin@"%" IDENTIFIED BY "123456" WITH GRANT OPTION;  
  6.  
  7.   mysql>GRANT ALL PRIVILEGES ON *.* TO admin@"localhost" IDENTIFIED BY "123456" WITH GRANT OPTION;  
  8.  

  2、創建proftpd數據庫:

  1.   mysql>CREATE DATABASE proftpd;  
  2.  

  3、建立一個訪問proftpd庫用戶:ftpuser

  1.   mysql>GRANT ALL PRIVILEGES ON proftpd.* TO ftpuser@"%" IDENTIFIED BY "123456";  
  2.  
  3.   mysql>GRANT ALL PRIVILEGES ON proftpd.* TO ftpuser@"localhost" IDENTIFIED BY "123456";  
  4.  

  4、建立用戶驗證表:

  1.   shell>mysql -u ftpuser -p proftpd  
  2.  
  3.   password: ********  
  4.  
  5.   mysql>CREATE TABLE ftpusers (  
  6.  
  7.   userid VARCHAR(30) NOT NULL UNIQUE,  
  8.  
  9.   passwd VARCHAR(80) NOT NULL,  
  10.  
  11.   uid INTEGER UNIQUE,  
  12.  
  13.   gid INTEGER,  
  14.  
  15.   homedir VARCHAR(255),  
  16.  
  17.   shell VARCHAR(255)  
  18.  
  19.   )DEFAULT CHARSET=gbk;  
  20.  

  5、建立磁盤限額數據表

  1.   CREATE TABLE quotalimits (  
  2.  
  3.   name VARCHAR(30),  
  4.  
  5.   quota_type ENUM("user", "group", "class", "all") NOT NULL,  
  6.  
  7.   per_session ENUM("false", "true") NOT NULL,  
  8.  
  9.   limit_type ENUM("soft", "hard") NOT NULL,  
  10.  
  11.   bytes_in_avail FLOAT NOT NULL,  
  12.  
  13.   bytes_out_avail FLOAT NOT NULL,  
  14.  
  15.   bytes_xfer_avail FLOAT NOT NULL,  
  16.  
  17.   files_in_avail INT UNSIGNED NOT NULL,  
  18.  
  19.   files_out_avail INT UNSIGNED NOT NULL,  
  20.  
  21.   files_xfer_avail INT UNSIGNED NOT NULL  
  22.  
  23.   )DEFAULT CHARSET=gbk;  
  24.  
  25.   CREATE TABLE quotatallies (  
  26.  
  27.   name VARCHAR(30) NOT NULL,  
  28.  
  29.   quota_type ENUM("user", "group", "class", "all") NOT NULL,  
  30.  
  31.   bytes_in_used FLOAT NOT NULL,  
  32.  
  33.   bytes_out_used FLOAT NOT NULL,  
  34.  
  35.   bytes_xfer_used FLOAT NOT NULL,  
  36.  
  37.   files_in_used INT UNSIGNED NOT NULL,  
  38.  
  39.   files_out_used INT UNSIGNED NOT NULL,  
  40.  
  41.   files_xfer_used INT UNSIGNED NOT NULL  
  42.  
  43.   )DEFAULT CHARSET=gbk;  
  44.  
  45.   #以上quotalimits表是FTP用戶的磁盤限額配置信息,quotatallies表存放的是用戶磁盤限額變動的信息。  
  46.  
  47.   #quotatallies表不需要作修改,由程序自動記錄  
  48.  
  49.   #下面是quotalimits 表中各字段的含意:  
  50.  
  51.   quota_type 磁盤限額的鑒別  
  52.  
  53.   bytes_in_avail 上傳***字節數,就是FTP用戶空間容量  
  54.  
  55.   bytes_out_avail 下載***字節數  
  56.  
  57.   bytes_xfer_avail 總共可傳輸的文件的***字節數(上傳和下載流量)  
  58.  
  59.   files_in_avail 總共能上傳文件的數目  
  60.  
  61.   files_out_avail 能從服務器上下載文件的總數目  
  62.  
  63.   files_xfer_avail 總共可傳輸文件的數目(上傳和下載)  
  64.  

  6、數據表數據初始化

  6.1 建立用戶:

  如果想要一次增加一個新記錄,可以使用INSERT語句:

  1.   INSERT INTO ftpUsers (userid, passwd, uid, gid, homedir, shell) values ('centre'password('centre'), 2001,2000, '/home/ftp','/usr/sbin/nologin');  
  2.  

  如果想要將文本文件“ftpusers.txt”裝載到ftpusers表中,使用LOAD DATA語句:

  1.   LOAD DATA LOCAL INFILE '/path/ftpusers.txt' INTO TABLE ftpusers CHARACTER SET 'gbk' LINES TERMINATED BY '\r\n';  
  2.  

  6.2 建立磁盤配額:

  test 用戶512000000byte限制

 

  1.   INSERT INTO quotalimits (name,quota_type,per_session,limit_type,bytes_in_avail,bytes_out_avail,bytes_xfer_avail,files_in_avail,files_out_avail,files_xfer_avail) VALUES ('test''user''true''hard', 512000000, 0,0,0,0,0);  
  2.  

【編輯推薦】

  1. ProFTPD.conf的詳細配置方法
  2. Proftpd配置文件結構分析
  3. ProFTP下的參數說明
  4. Porftpd.conf的配置格式
  5. lampp的ProFTPd下新增FTP用戶的方法
  6. Debian下配置ProFTPd服務器
  7. Centos下ProFTPD配置FTP服務器
責任編輯:zhaolei 來源: CSDN
相關推薦

2011-02-25 14:35:06

ubuntuproftp安裝

2011-03-03 09:04:25

2011-03-03 14:47:35

2011-03-03 14:47:35

2011-03-03 11:06:44

Ubuntu安裝ProFTPD

2011-02-23 09:47:07

2011-02-23 09:47:07

UbuntuProFTPdMySQL

2011-03-02 09:26:26

ubuntuproftpd

2011-03-08 17:04:10

ProFTPDUbuntu

2011-02-22 16:24:30

2011-02-22 09:50:01

2011-02-25 09:44:51

怎樣安裝Proftpd

2011-03-03 13:07:13

安裝Proftpd

2011-02-24 15:04:58

ProftpdCentos

2011-03-07 17:24:33

ProFTPD安裝

2011-02-23 10:43:17

2011-02-24 14:47:48

ProFTPD

2011-02-23 10:11:10

ProFTPd安裝

2011-03-08 11:28:15

proftpd

2011-02-25 15:38:12

ProftpdRedHat
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩欧美精品在线 | 国产aaaaav久久久一区二区 | 亚洲精品电影网在线观看 | 国产原创在线观看 | 欧美成人综合 | 亚洲午夜在线 | 欧美嘿咻 | 国产目拍亚洲精品99久久精品 | 欧美精产国品一二三区 | 成人网av | 看片一区| 欧美成年人视频在线观看 | 鲁大师一区影视 | www.一级毛片 | 91精品国产91 | 国产97视频在线观看 | 成人精品鲁一区一区二区 | 国产中文一区二区三区 | 97国产精品| 日韩www| 日韩欧美在线一区 | 97色在线视频 | 久久精品国产一区二区电影 | 国产精品入口久久 | 亚洲成人av| 天天久久 | 精品在线一区 | 欧美理论片在线 | 国产精品成人一区 | 午夜小电影 | 免费一区| av香蕉| a黄视频 | 一区二区三区视频免费看 | 麻豆hd | 国产91丝袜在线播放 | 青青久久 | 丝袜 亚洲 另类 欧美 综合 | 午夜影院在线观看视频 | 亚洲精品一区二区三区四区高清 | 日韩av在线免费 |