Pureftpd的安装文档

运维 系统运维
pureftpd的安装文档。pureftpd是一种在多款类Unix上使用的开放源代码的软件。即它也就是一种纯粹的Ftp程序。本文所描述的是pureftpd的安装文档。

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. <Directory "/home/www/pureftpd_php_manager"> 
  2.     deny from all  
  3.     Options None  
  4.     AllowOverride AuthConfig  
  5.     Order deny,allow  
  6. </Directory> 
  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   

然后测试<a href="http://ip/pureftpd_php_manager/index.php" target="_blank">http://ip/pureftpd_php_manager/index.php</a>
添加一个用户,然后用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

 

责任编辑:zhaolei 来源: CSDN网
相关推荐

2011-02-24 14:45:37

pureftpd安装文档

2011-02-25 16:22:34

2011-03-03 16:17:14

PureFTPd

2011-02-25 17:48:52

2011-03-02 09:07:59

pureftpdDebian

2011-02-25 17:19:09

Pureftpd安装

2011-03-02 09:30:35

PureFtpdOpenLDAP

2011-02-25 18:11:48

LinuxPureFTPd

2011-02-24 15:51:23

Pureftpd安装

2011-03-02 08:57:51

2011-03-02 13:16:33

Pureftpd

2011-03-03 11:13:11

Pureftpd

2011-03-02 16:36:41

pureftpdLNMPDebian5

2011-03-02 13:02:37

2011-02-25 17:49:21

2011-03-03 14:42:12

PureFTPd

2011-03-02 13:33:44

Pureftpd.co

2011-03-03 15:09:30

PureFTPdFAQ

2011-03-03 16:01:39

PureFTPd

2011-03-02 16:19:30

网络转载
点赞
收藏

51CTO技术栈公众号