PureFTPD服務器的管理
PureFTPD服務器能夠經過插件來實現web界面用戶管理,好比WebPureFTPD,pureFTPD
,
PHP,User,Management,同時用戶可使用MySQL來存儲。本節介紹PureFTPD服務器的相關配置與管理。
1. PureFTPD服務器須要用到apache mysql mysql-server mysql-devel這些軟件
安裝實驗所用的軟件包
[root@localhost ~]# yum -y install httpd php php-mysql mysql mysql-server mysql-devel
安裝PureFTPD服務器還要用到
拆分軟件包進行安裝(這裏用到的是源代碼)
[root@localhost pureftp]# tar -zxvf pure-ftpd-1.0.36.tar.gz -C /usr/local/src/
[root@localhost pureftp]# cd /usr/local/src/pure-ftpd-1.0.36/【切換目錄】
進行編譯(執行如下命令)
[root@localhost pure-ftpd-1.0.36]# ./configure \
--prefix=/usr/local/pureftpd \
--with-mysql \
--with-shadow \
--with-pam \
--with-welcomemsg \
--with-uploadscript \
--with-cookie \
--with-virtualchroot \
--with-virtualhosts \
--with-diraliases \
--with-quotas \
--with-puredb \
--with-sysquotas \
--with-ratios \
--with-ftpwho \
--with-throttling \
--with-language=simplified-chinese
[root@localhost pure-ftpd-1.0.36]# make
[root@localhost pure-ftpd-1.0.36]# make install
1. 須要開啓的服務
[root@localhost ~]# service httpd start【開啓http服務】
Starting httpd:
[ OK ]
[root@localhost ~]# chkconfig httpd on【設置開機啓動http】
[root@localhost ~]# service mysqld start【啓動mysql服務】
[root@localhost ~]# chkconfig mysqld on【設置開機啓動】
[root@localhost ~]# mysqladmin -u root -p password '12345'【爲mysql設置密碼】
2. 若是須要像其餘服務那樣啓動PureFTPD服務,須要進一步調整。
生成pureftpd的服務腳本
[root@localhost pure-ftpd-1.0.36]# mkdir /usr/local/pureftpd/etc【建立存放配置文件的目錄】
[root@localhost pure-ftpd-1.0.36]# cd configuration-file/
[root@localhost configuration-file]# chmod 755 pure-config.pl
[root@localhost configuration-file]# cp pure-config.pl /usr/local/pureftpd/sbin/
[root@localhost configuration-file]# cp pure-ftpd.conf /usr/local/pureftpd/etc/
[root@localhost configuration-file]# cd ..
[root@localhost pure-ftpd-1.0.36]# cd contrib/
[root@localhost contrib]# cp redhat.init /etc/init.d/pureftpd
[root@localhost contrib]# chmod 755 /etc/init.d/pureftpd
[root@localhost contrib]# vim /etc/init.d/pureftpd
修改如下這三行
18 fullpath=/usr/local/pureftpd/sbin/$prog
19 pureftpwho=/usr/local/pureftpd/sbin/pure-ftpwho
24
$fullpath /usr/local/pureftpd/etc/pure-ftpd.conf –daemonize
啓動PureFTPD
[root@localhost contrib]# service pureftpd start
Starting pure-config.pl: Running: /usr/local/pureftpd/sbin/pure-ftpd --daemonize -A -c50 -B -C8 -D -fftp -H -I15 -L10000:8 -m4 -s -U133:022 -u100 -k99 –Z 【成功啓動】
[root@localhost contrib]# chkconfig --add pureftpd 【設置開機啓動】
[root@localhost contrib]# chkconfig pureftpd on
[root@localhost contrib]# chkconfig --list |grep ftp
pureftpd
0:off 1:off 2:on 3:on 4:on 5:on 6:off
3. 配置虛擬用戶登陸環境
[root@localhost ~]#mkdir /ftproot
[root@localhost ~]#chmod -R 777 /ftproot <這不不作能夠能會引發登陸時報421錯誤>
[root@localhost ~]# useradd virtualftp -d /ftproot -s /sbin/nologin -M
<建立接下來的虛擬用戶對應的系統用戶>
[root@localhost ~]# chown virtualftp:virtualftp /ftproot
[root@localhost ~]# vim /usr/local/pureftpd/etc/pure-ftpd.conf
20 ChrootEveryone
yes【用戶不能切換目錄】
40 MaxClientsNumber
50【最大的鏈接用戶數量】
52 MaxClientsPerIP
8【每一個用戶的最大鏈接數量】
77 NoAnonymous
yes【容許匿名訪問】
4. 用mysql進行身份驗證
[root@localhost ~]# vim /usr/local/pureftpd/etc/pure-ftpd.conf
116 MySQLConfigFile
/etc/pureftpd-mysql.conf
[root@localhost pureftp]# cp pureftpd-mysql.conf /usr/local/pureftpd/etc/
[root@localhost pureftp]# cd /usr/local/pureftpd/etc/
[root@localhost etc]# vim pureftpd-mysql.conf
32 MYSQLPassword tmppasswd
45 MYSQLCrypt
md5
導入數據到mysql
# wget http://www.yiyou.org/docs/PureAdmin_03_php/pureftp.sql
# less pureftp.sql
注意其中的
22 -- Login = ftp 此爲登陸數據庫的用戶
23 -- Password = tmppasswd 此爲登陸數據庫的密碼
31 CREATE DATABASE ftpusers; 建立名爲ftpusers的庫
50 INSERT INTO admin VALUES ('admin',MD5('passwd')); 此爲登陸web用的用戶密碼,可自行修改
<導入數據,導入前可能須要修改此sql文件的15行:前2個減號空一格—
[root@localhost pureftp]# mysql -u root -p <pureftp.sql
5. 作基於web頁面的配置
root@localhost pureftp]# tar -zxvf PureAdmin-0.3.tar.gz -C /var/www/html/
[root@localhost pureftp]# cd /var/www/html/
[root@localhost html]# mv PureAdmin-0.3 pureadmin
[root@localhost html]# cd pureadmin/
修改pureadmin的配置文件
# cd /var/www/html/pureadmin
# vi config.php
個人以下:
<?php
$cfg['dbhost']='localhost'; //mysql host
$cfg['dbname']='ftpusers'; //mysql db name
所用的庫<與前面導入的sql中要一致>
$cfg['dbuser']='ftp';
//mysql user 登陸mysql的賬號
$cfg['dbpasswd']='tmppasswd';
//mysql password 登陸mysql的密碼
//ftp config
$cfg['page']=10;
每頁顯示的用戶數量
//ftp passwd type : TEXT/CRYPT/MD5
$cfg['passwdtype']='MD5';
認證模式<要與pureftpd-mysql.conf中一致>
//ftp default
$cfg['uid']=500; //uid
映射虛擬用戶的UID,即剛建立的virtualftp用戶
$cfg['gid']=500;
//gid 同上
$cfg['dir']='/ftproot/'; //dir
默認家目錄
$cfg['qf']=0; //quotafiles
文件個數限制,0爲不限制
$cfg['qs']=100; //quotasize
總文件大小
$cfg['ul']=0;
//ULBandwidth 上傳速率限制
$cfg['dl']=200; //DLBandwidth
下載速率限制
$cfg['ur']=0;
//ULRatio 上傳比
$cfg['dr']=0;
//DLRatio 下載比
$cfg['status']=1; //status
狀態,1爲激活;0爲禁止
$cfg['ip']= '*';
//ipaddress 可訪問IP,*爲全部
?>
6. 驗證明驗結果