Pureftpd的安装文档
创始人
2024-07-21 14:21:21
0

pureftpd的安装文档。pureftpd是一种在多款类Unix上使用的开放源代码的软件。即它也就是一种纯粹的Ftp程序。本文所描述的是pureftpd的安装文档。有问题大家一起讨论,应该对大家有用!

PHP代码

--------------------------------------pureftpd安装文档-----------------------------------
需要的软件
pure-ftpd-1.0.21.tar.gz
pureftpd_php_manager.tar.gz

全面设置

 

  1. tar zvxf pure-ftpd-1.0.21.tar.gz  
  2. cd pure-ftpd-1.0.21  
  3. #./configure --prefix=/usr/local/pureftpd --with-mysql=/usr/local/mysql --with-paranoidmsg   
  4.  
  5. --with-shadow --with-welcomemsg --with-uploadscript --with-quotas --with-cookie --with-pam   
  6.  
  7. --with-virtualhosts --with-virtualroot --with-diraliases --with-sysquotas --with-ratios   
  8.  
  9. --with-ftpwho --with-throttling --with-language=simplified-chinese  
  10.  
  1. make   
  2. make check   
  3. make install   
  4. cd configuration-file  
  5. chmod u+x pure-config.pl   
  6. cp pure-config.pl /usr/local/sbin/   
  7. cp pure-ftpd.conf /usr/local/etc/   
  8. vi /usr/local/etc/pure-ftpd.conf  
  9. 按你的需要编辑pure-ftpd.conf   

-------------------------------------
 

  1. # Cage in every user in his home directory  
  2. # 限制每个用户到自己的根目录  
  3. ChrootEveryone              yes  
  4. # Disallow anonymous connections. Only allow authenticated users.  
  5. # 取消anonymous用户  
  6. NoAnonymous                 yes  
  7. # MySQL configuration file (see README.MySQL)  
  8. # pureftpd-mysql.conf文件的位置  
  9. MySQLConfigFile               /usr/local/etc/pureftpd-mysql.conf  
  10. CreateHomeDir               yes  

-------------------------------------

  1. tar zvxf pureftpd_php_manager.tar.gz  
  2. cd pureftpd_php_manager   
  3. mv pureftpd-mysql.conf.sample /usr/local/etc/pureftpd-mysql.conf   
  4. cd ..   
  5. cp -R pureftpd_php_manager /home/www/pureftpd_php_manager   
  6. cd /home/www/pureftpd_php_manager   
  7. vi pureftp.config.php   
  8.  

按照你的需要修改里面的设置代码:

-------------------------------------------------------------------------------------

  1.      // 设置pureftpd-mysql.conf的位置,这个要注意,不要写错哦   
  2.      $PUREFTP_CONFIG_FILE    = '/usr/local/etc/pureftpd-mysql.conf';   
  3.  
  4.      // The location where all the Forms directed to. (Mayby no change needed)   
  5.      $SELF_URL                               = 'index.php';   
  6.  
  7.      // The location of your pure-ftpdwho binary  (set this to chmod 4711)   
  8.      $FTP_WHO                                = "/usr/local/sbin/pure-ftpwho";   
  9.  
  10.  
  11. $DefaultUser = "ftpuser";                  # 默认用户   
  12.      $DefaultPass = "";                   # 默认初始用户密码   
  13.      $DefaultUid = "2002";                      # 默认的uid(设置为ftpusers的uid)   
  14.     $DefaultGid = "2002";                          # 默认的gid(设置为ftpusers的gid)   
  15.     $DefaultDir = "/var/ftproot/ftpusershome";     # 默认的用户主目录   
  16.      $DefaultUL = "0";                          # 默认用户上传速率限制(KB/S)   
  17.      $DefaultDL = "0";                          # 默认用户下载速率限制(KB/S)   
  18.      $Defaultip = "*";                               # 设置用户可以从哪些IP登陆   
  19.      $DefaultQS = "50";                         # 用户默认的quota   
  20.      $Defaultcmt = "";                               # 默认备注信息   
  21.      $DefaultQF = "0";                          # 默认文件数目quota   
  22.      $PWC = "55";                               # Vorsatz fuerr Crypt Password   

-------------------------------------------------------------------------------------

增加用户组及用户
 

  1. #groupadd ftpusers -g 2002   
  2. #useradd ftp -u 2002 -g ftpusers -s /sbin/nologin  

删除多余的东西
rm -f history.txt pureftpd-mysql.conf.sample
如果要投入真实的使用,***用apache做身份验证!

在mysql中添加FTP用户数据库
代码:

  1. CREATE TABLE ftpd (  
  2. User varchar(16) NOT NULL default '',  
  3. status enum('0','1') NOT NULL default '0',  
  4. Password varchar(64) NOT NULL default '',  
  5. Uid varchar(11) NOT NULL default '-1',  
  6. Gid varchar(11) NOT NULL default '-1',  
  7. Dir varchar(128) NOT NULL default '',  
  8. ULBandwidth smallint(5) NOT NULL default '0',  
  9. DLBandwidth smallint(5) NOT NULL default '0',  
  10. comment tinytext NOT NULL,  
  11. ipaccess varchar(15) NOT NULL default '*',  
  12. QuotaSize smallint(5) NOT NULL default '0',  
  13. QuotaFiles int(11) NOT NULL default 0,  
  14. PRIMARY KEY (User),  
  15. UNIQUE KEY User (User)  
  16. ) TYPE=MyISAM;  
  17.  

 
-----------------------------加密pureftpd_php_manager目录-----------------------------

因为我们是放到网上执行的﹐所以你肯定不想每个人都跑去看你FTP用户吧﹗
我一般采用HTPASSWD验证﹐具体请这样子做﹐仍用我前面的例子﹕
我的pureftpd_php_manager目录位于 /home/onlinecq.com/pureftpd_php_manager目录﹐我需要在apache的虚

拟主机那一小节添加如下内容﹕

  1.  
  2.     deny from all  
  3.     Options None  
  4.     AllowOverride AuthConfig  
  5.     Order deny,allow  
  6.  
  7.  

这样﹐若有人想进入该目录﹐必须通过apache验证﹐保证我们的安全(不是绝对安全)
cd /home/www/pureftpd_php_manager
再进入pureftpd_php_manager的目录﹐使用vi建立一个.htaccess的认证文件﹕
vi .htaccess
内容如下﹕
 

  1. AuthType Basic  
  2. AuthUserFile /usr/www/bin/pureftpd.passwd  
  3. AuthName pureftpd  
  4. require valid-user  
  5. satisfy any  

存盘退出后﹐我们就可以使用htpasswd命令添加允许进入的该目录的用户了﹗
cd /usr/www/bin/
进入该目录
./htpasswd -bc pureftpd.passwd ltsnet 980405
这样将会在你的当前目录﹐创建一个pureftpd.passwd的身份验证文件﹐用户名是ftp﹐密码是123654﹐你可以

改为你自己需要。
好了﹐看起来差不多了﹐麻烦你重新启动一下APACHE测试一下﹐如果一下顺利﹐那祝贺你﹐一切成功了﹗


------------------编辑/usr/local/etc/pureftpd-mysql.conf --------------------------
vi /usr/local/etc/pureftpd-mysql.conf

将刚才在mysql中新建的用户和密码加入其中,选项很简单,只要注意不要输错
MYSQLServer 127.0.0.1
#MYSQL服务器的IP
MYSQLPort 3306
#MYSQL 端口号
MYSQLSocket /var/lib/mysql/mysql.sock
#使用UNIX.sock本地连接
注:MYSQLServer 与 MYSQLSocket 选择一种即可

 

  1. MYSQLUser ftp   
  2. #MYSQLUser 数据用户名   
  3. MYSQLPassword 123456   
  4. #MYSQL数据库用户的密码   
  5. MYSQLDatabase ftpusers   
  6. #FTP数据数据库   
  7. MYSQLCrypt md5   
  8. #密码加密方式"cleartext", "crypt", "md5" and "password"   
  9. # cleartext 明文,crypt,md5,password是Backend password(‘your-passwd’)函数(MYSQL数据库所使用的  
  10.  
  1. password()函数)   
  2. MYSQLGetPW SELECT Password FROM users WHERE User="L"   
  3. # 密码字段,我使用users表中的Password做为密码字段   
  4. MYSQLGetUID SELECT Uid FROM users WHERE User="L"   
  5. #UID用户ID字段   
  6. MYSQLDefaultUID 1000   
  7. #默认的UID (注:如何开启该选项,MYSQLGetUID将失去作用)   
  8. MYSQLGetGID SELECT Gid FROM users WHERE User="L"   
  9. #GID组ID字段   
  10. MYSQLDefaultGID 1000   
  11. #默认的GID (注:如何开启该选项,MYSQLGetGID将失去作用)   
  12. MYSQLGetDir SELECT Dir FROM users WHERE User="L"   
  13. #FTP用户目录如/home/web/www-9812-net   
  14. MySQLGetQTAFS SELECT QuotaFiles FROM users WHERE User="L"   
  15. #磁盘限额,文件数限制。如1000,允许用户上传1千个文件   
  16. MySQLGetQTASZ SELECT QuotaSize FROM users WHERE User="L"   
  17. #磁盘限额,FTP用户空间限制(单位为M),如:100M   
  18. MySQLGetRatioUL SELECT ULRatio FROM users WHERE User="L"   
  19. MySQLGetRatioDL SELECT DLRatio FROM users WHERE User="L"   
  20. #上传/下载比率。MySQLGetRatioUL为上传比,MySQLGetRatioDL下载比。如:1:5   
  21. MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User="L"   
  22. MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User="L"   
  23. #下传/下载带宽(单位KB/s)。MySQLGetBandwidthUL上传带宽,MySQLGetBandwidthDL下载带宽。如上传500KB/s,下载50KB/s   

 

  1. MySQLForceTildeExpansion 1   
  2. MySQLTransactions On   


启动
 

  1. #/usr/local/sbin/pure-config.pl /usr/local/etc/pure-ftpd.conf   

然后测试http://ip/pureftpd_php_manager/index.php
添加一个用户,然后用FTP客户端登陆试试,ok!

--------------------------------------自动启动(1)----------------------------------

   pureftp支持多种启动方式,俺采用了最容易的一种:
   vi /etc/rc.d/rc.local
   添加
 

  1.    cd /usr/local/pureftpd/sbin  
  2.   ./pure-ftpd -A -B -C 1 -c 50 -E -G -I 2 -l unix -l puredb:/usr/local/pureftpd/pureftpd.pdb -p   
  3.  
  4. 40000:50000 -R -w  
  5.  

-------------------------------------启动脚本(2)这种好用----------------------------------
在/usr/local/etc/rc.d中建一个pureftpd.sh
chmod u+x pureftpd.sh
就可以:

/usr/local/etc/rc.d/pureftpd.sh start
    /usr/local/etc/rc.d/pureftpd.sh stop

  1. #!/bin/sh   
  2. case "$1" in  
  3. start)  
  4. [ -x /usr/local/etc/pure-ftpd.conf ] &&    
  5. /usr/local/sbin/pure-config.pl /usr/local/etc/pure-ftpd.conf > /dev/null &&   
  6. echo -n ' pure-ftp'  
  7. ;;  
  8.  
  9. stop)  
  10. killall pure-ftpd > /dev/null &&   
  11. echo -n ' pure-ftp'  
  12. ;;   
  13.  

*)
echo "Usage: `basename $0` {start | stop}" >&2
;;
esac
exit 0

【编辑推荐】

  1. 中文解释PureFTPd配置文件
  2. Freebsd下使用PureFTPd
  3. PureFTPd Accept_Client远程拒绝服务漏洞
  4. FreeBSD与Linux十个本质上的区别
  5. Postfix_setup 全自动安装包发布支持 Linux/FreeBSD

 

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...