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

Proftpd安裝手冊(cè)(Ubuntu)

運(yùn)維 系統(tǒng)運(yùn)維
Proftpd安裝手冊(cè):ProFTPD目標(biāo)是實(shí)現(xiàn)一個(gè)安全且易于設(shè)定的FTP Server,Proftpd不僅針對(duì)Wu-Ftp改進(jìn)了許多問題,而且還有許多新的功能。那么Proftpd的配置文件是怎樣的呢?本文將一一簡(jiǎn)述。Proftpd安裝手冊(cè):

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

  linux核心:2.6.27-7-server

  MySQL 在安裝操作系統(tǒng)時(shí)已經(jīng)選擇安裝(或者安裝完系統(tǒng)后進(jìn)行在線安裝: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服務(wù)器includes所在的位置,用到mysql.h;  
  6.  
  7.   --with-libraries=MySQL服務(wù)器libraries所在的位置,用到libmysqlclient.a)  
  8.  

  7、make

  8、make install

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

  10、制作開機(jī)啟動(dòng)腳本: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設(shè)置非root用戶的可執(zhí)行權(quán)限:chmod +x proftpd

  12、安裝啟動(dòng)服務(wù)管理程序:apt-get install sysv-rc-conf

  13、sysv-rc-conf設(shè)置proftpd開機(jī)自啟動(dòng)

#p#

  二、配置proftpd.conf文件

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

  2、加快登陸速度:IdentLookups off

  UseReverseDNS off

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

  DisplayLogin /usr/local/etc/ftplogin.msg

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

  5、MySQL驗(yàn)證:

  1.   #-------- load sql.mod for mysql authoritative --------#  
  2.  
  3.   #配置FTP用戶為MySQL數(shù)據(jù)庫(kù)認(rèn)證方式  
  4.  
  5.   #SQLConnectInfo databaseName@hostName:port userName password 
  6.  
  7.   SQLConnectInfo proftpd@localhost ftpuser 123456  
  8.  
  9.   #Backend表示用戶認(rèn)證方式為MySQL數(shù)據(jù)庫(kù)的認(rèn)證方式  
  10.  
  11.   #Plaintext表示明文認(rèn)證方式,排在最前面的為***使用的方式  
  12.  
  13.   SQLAuthTypes Backend Plaintext  
  14.  
  15.   #校驗(yàn)數(shù)據(jù)表  
  16.  
  17.   #SQLAuthenticate users groups usersetfast groupsetfast  
  18.  
  19.   SQLAuthenticate users  
  20.  
  21.   #指定ftp用戶數(shù)據(jù)表的名字和其中的字段名,表名可自行定義,字段名不要改動(dòng)。  
  22.  
  23.   SQLUserInfo ftpusers userid passwd uid gid homedir shell  
  24.  
  25.   #指定ftp用戶組數(shù)據(jù)表的名字和其中的字段名,這個(gè)數(shù)據(jù)表是可選的,字段名不要改動(dòng)。  
  26.  
  27.   #SQLGroupInfo ftpGroup groupname gid members  
  28.  
  29.   #指定是否必須為FTP用戶指定一個(gè)系統(tǒng)shell,off表示不用指定,on表示必須指定。為了系統(tǒng)安全應(yīng)該指定為off。  
  30.  
  31.   RequireValidShell off 
  32.  
  33.   #如果用戶主目錄不存在,則系統(tǒng)會(huì)根據(jù)此用戶在用戶數(shù)據(jù)表中的homedir字段的值新建一個(gè)目錄  
  34.  
  35.   #SQLHomedirOnDemand on 
  36.  
  37.   SQLNegativeCache on 
  38.  
  39.   SQLLogFile /var/log/proftpd.sql.log  
  40.  
  41.   #用戶登錄歡迎窗口中顯示登錄用戶已訪問次數(shù)  
  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.   #設(shè)置磁盤限額  
  8.  
  9.   QuotaDirectoryTally on 
  10.  
  11.   #設(shè)置磁盤容量顯示時(shí)的單位  
  12.  
  13.   QuotaDisplayUnits Mb  
  14.  
  15.   #設(shè)置磁盤限額日志文件  
  16.  
  17.   QuotaLog "/var/log/proftpd.quota.log" 
  18.  
  19.   #允許顯示磁盤限額信息,ftp登錄后可執(zhí)行quote site quota命令查看當(dāng)前磁盤使用情況  
  20.  
  21.   QuotaShowQuotas on 
  22.  
  23.   #指定磁盤限額模塊使用的數(shù)據(jù)庫(kù)信息  
  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用戶認(rèn)證相關(guān)表

  1、默認(rèn)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、創(chuàng)建proftpd數(shù)據(jù)庫(kù):

  1.   mysql>CREATE DATABASE proftpd;  
  2.  

  3、建立一個(gè)訪問proftpd庫(kù)用戶: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、建立用戶驗(yàn)證表:

  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、建立磁盤限額數(shù)據(jù)表

  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表存放的是用戶磁盤限額變動(dòng)的信息。  
  46.  
  47.   #quotatallies表不需要作修改,由程序自動(dòng)記錄  
  48.  
  49.   #下面是quotalimits 表中各字段的含意:  
  50.  
  51.   quota_type 磁盤限額的鑒別  
  52.  
  53.   bytes_in_avail 上傳***字節(jié)數(shù),就是FTP用戶空間容量  
  54.  
  55.   bytes_out_avail 下載***字節(jié)數(shù)  
  56.  
  57.   bytes_xfer_avail 總共可傳輸?shù)奈募?**字節(jié)數(shù)(上傳和下載流量)  
  58.  
  59.   files_in_avail 總共能上傳文件的數(shù)目  
  60.  
  61.   files_out_avail 能從服務(wù)器上下載文件的總數(shù)目  
  62.  
  63.   files_xfer_avail 總共可傳輸文件的數(shù)目(上傳和下載)  
  64.  

  6、數(shù)據(jù)表數(shù)據(jù)初始化

  6.1 建立用戶:

  如果想要一次增加一個(gè)新記錄,可以使用INSERT語(yǔ)句:

  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語(yǔ)句:

  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的詳細(xì)配置方法
  2. Proftpd配置文件結(jié)構(gòu)分析
  3. ProFTP下的參數(shù)說明
  4. Porftpd.conf的配置格式
  5. lampp的ProFTPd下新增FTP用戶的方法
  6. Debian下配置ProFTPd服務(wù)器
  7. Centos下ProFTPD配置FTP服務(wù)器
責(zé)任編輯:zhaolei 來源: CSDN
相關(guān)推薦

2011-03-03 14:47:35

2011-03-03 14:47:35

2011-03-03 09:04:25

2011-02-25 14:35:06

ubuntuproftp安裝

2011-03-03 11:06:44

Ubuntu安裝ProFTPD

2011-02-23 09:47:07

UbuntuProFTPdMySQL

2011-03-02 09:26:26

ubuntuproftpd

2011-02-23 09:47:07

2011-03-08 17:04:10

ProFTPDUbuntu

2011-02-22 16:24:30

2011-02-25 09:44:51

怎樣安裝Proftpd

2011-02-22 09:50:01

2011-03-03 13:07:13

安裝Proftpd

2011-03-07 17:24:33

ProFTPD安裝

2011-02-23 10:43:17

2011-02-24 14:47:48

ProFTPD

2011-02-24 15:04:58

ProftpdCentos

2011-02-23 10:11:10

ProFTPd安裝

2011-03-08 11:28:15

proftpd

2011-02-25 15:38:12

ProftpdRedHat
點(diǎn)贊
收藏

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