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卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
规避非法攻击 用好路由器远程管... 单位在市区不同位置设立了科技服务点,每一个服务点的员工都通过宽带路由器进行共享上网,和单位网络保持联...
范例解读VB.NET获取环境变... VB.NET编程语言的使用范围非常广泛,可以帮助开发人员处理各种程序中的需求,而且还能对移动设备进行...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...