1 下载
http://sourceforge.net/projects/pureftpd/
最新版本是pure-ftpd-1.0.22.tar.gz
此处同时提供一个图形管理界面软件kcmpureftpd,有兴趣可以下载用
2 安装
解包到任意目录,如/usr/local/
tar -xjf pure-ftpd-1.0.22.tar.gz
mv pure-ftpd* puresrc
cd puresrc
预制:
./configure --prefix=/usr/local/pureftpd --with-language=simplified-chinese --with-everything
注:
--with-eyerything是安装所有功能
--with-language=simplified-chinese是采用中文作为提示语言
--prefix是安装的目标目录
另外如果需要与mysql连接等还需要在此指定。本文不涉及。
编译安装:
make install-strip
3 建立用户
pureftp默认的是采用linux的用户,比如用root登录等等。此处同时采用其自带的virtual users系统。该系统独立于linux。
建立一个ftp用户与组:
groupadd ftpgroup
useradd -g ftpgroup -d /dev/null -s /etc ftpuser
建立一个FTP帐号:
/usr/local/pureftpd/bin/pure-pw useradd ftpa -u ftpuser -d /home/www/ftp
说明:ftpu是用户名,-u ftpuser是其实际的linux用户,-d指定起始目录,并锁定于该目录。如果不锁定,则用-D
如果需要不同的权限,可以建立新的linux用户与组
建立用户数据库:
/usr/local/pureftpd/bin/pure-pw mkdb /usr/local/pureftpd/etc/pureftpd.pdb
说明:每添加或修改用户数据库都应该执行一次mkdb,执行后不需要重起ftp
4 运行FTP服务
pureftpd的理论是:命令行执行参数比使用conf文件更有效。虽然软件同时提供对.conf文件的支持,但。。还得执行perl文件,怪麻烦的。
/usr/local/pureftpd/sbin/pure-ftpd -A -B -C 20 -c 50 -E -G -I 2 -l unix -l puredb:/usr/local/pureftpd/etc/pureftpd.pdb -p 60000:60010 -R -w
注:此处的运行参数含义如下:
-A 将所有用户所定于根目录
-B 后台运行
-C 每个ip连接数目
-c 总连接数
-E 禁用匿名用户
-G 禁用文件更名
-I 空闲超时时间(分钟)
-l 这是比较重要的一个参数,目的是说明身份认证的方式
此处同时使用默认的linux用户和虚拟用户两种
如果需要用mySQL,则在此处增加设定
-p 设定PORT模式的端口
-R 禁止用户使用CHMOD
-w 启用FXP协议
以上是常用的一些参数,更多的参数请参见README文件
运行后启动,测试用户ftpa及,一切正常。
5 自动启动
pureftp支持多种启动方式,偶采用最容易的:
vi /etc/rc.d/rc.local
添加
/usr/local/pureftpd/sbin/pure-ftpd -A -B -C 1 -c 50 -E -G -I 2 -l unix -l puredb:/usr/local/pureftpd/pureftpd.pdb -p 30000:30100 -R -w
reboot
6 其它处理:
下面就可以给你的系统建立用户了。
对于不同的目录或文件,可以采用
chown ftpuser dir 及 chgrp ftpusers dir 来进行权限的分配
这样ftp中才能对文件和目录进行操作。
7 其他
pureftpd 另外也提供了一个图形界面的配置管理器。可在sourcefouge同时下载。远程telnet的,无法用。看图片应该是还不错的。
不喜欢命令行的可以试试。
-------------------------------------------------------
install-strip
和目标install的动作类似,但是install-strip指定的命令在安装时对可执行文件进行strip(去掉程序内部的调试信息)。它的定义如下:
install-strip:
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' install
如果软件包的存在安装脚本时,目标install-strip所定义的命令就不能是对目标“install”的引用,它仅仅完成对可执行文件的strip。
“install-strip”不应该直接在build目录下对可执行文件进行strip,应该是对安装目录下的可执行文件进行strip。就是说“install-strip”所定义的命令不能对build目录下的文件产生影响。
一般不建议安装时对可执行文件进行strip,因为去掉可执行文件的调试信息后,如果在程序中存在bug,就不能通过gdb对程序进行调试。
http://doc.linuxpk.com/52688. h t m l
-----------------------------------------------------
pure-pw --help
Usage :
pure-pw useradd <login> [-f <passwd file>] -u <uid> [-g <gid>]
-D/-d <home directory> [-c <gecos>]
[-t <download bandwidth>] [-T <upload bandwidth>]
[-n <max number of files>] [-N <max Mbytes>]
[-q <upload ratio>] [-Q <download ratio>]
[-r <allow client ip>/<mask>] [-R <deny client ip>/<mask>]
[-i <allow local ip>/<mask>] [-I <deny local ip>/<mask>]
[-y <max number of concurrent sessions>]
[-z <hhmm>-<hhmm>] [-m]
pure-pw usermod <login> -f <passwd file> -u <uid> [-g <gid>]
-D/-d <home directory> -[c <gecos>]
[-t <download bandwidth>] [-T <upload bandwidth>]
[-n <max number of files>] [-N <max Mbytes>]
[-q <upload ratio>] [-Q <download ratio>]
[-r <allow client ip>/<mask>] [-R <deny client ip>/<mask>]
[-i <allow local ip>/<mask>] [-I <deny local ip>/<mask>]
[-y <max number of concurrent sessions>]
[-z <hhmm>-<hhmm>] [-m]
pure-pw userdel <login> [-f <passwd file>] [-m]
pure-pw passwd <login> [-f <passwd file>] [-m]
pure-pw show <login> [-f <passwd file>]
pure-pw mkdb [<puredb database file> [-f <passwd file>]]
pure-pw list [-f <passwd file>]
-d <home directory> : chroot user (recommended)
-D <home directory> : don't chroot user
-<option> '' : set this option to unlimited
-m : also update the /usr/local/pureftpd/etc/pureftpd.pdb database
For a 1:10 ratio, use -q 1 -Q 10
To allow access only between 9 am and 6 pm, use -z 0900-1800