1 下载
http://sourceforge.net/projects/pureftpd/
最新版本是pure-ftpd-1.0.16a.tar.bz2
此处同时提供一个图形管理界面软件kcmpureftpd,有兴趣可以下载用
2 安装
解包到任意目录,如/usr/local/
tar -xjf pure-ftpd-1.0.16a.tar.bz2
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。
进入安装执行目录
cd /usr/local/pureftpd/bin
建立一个ftp用户与组:
groupadd ftpgroup
useradd -g ftpgroup -d /dev/null -s /etc ftpuser
建立第一个虚拟用户:
./pure-pw useradd ftpu -u ftpuser -d /usr/local/testRoot
说明:ftpu是用户名,-u ftpuser是其实际的linux用户,-d指定起始目录,并锁定于该目录。如果不锁定,则用-D
如果需要不同的权限,可以建立新的linux用户与组
建立用户数据库:
./pure-pw mkdb /usr/local/pureftpd/pureftpd.pdb
说明:今后每添加或修改用户数据库都应该执行一次mkdb,执行后不需要重起ftp
4 建立运行语句
pureftpd的理论是:命令行执行参数比使用conf文件更有效。虽然软件同时提供对.conf文件的支持,但。。还得执行perl文件,怪麻烦的。
cd /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 40000:50000 -R -w
注:此处的运行参数含义如下:
-A 将所有用户所定于根目录
-B 后台运行
-C 每个ip连接数目
-c 总连接数
-E 禁用匿名用户
-G 禁用文件更名
-I 空闲超时时间(分钟)
-l 这是比较重要的一个参数,目的是说明身份认证的方式
此处同时使用默认的linux用户和虚拟用户两种
如果需要用mySQL,则在此处增加设定
-p 设定PORT模式的端口
-R 禁止用户使用CHMOD
-w 启用FXP协议
以上是我的系统需要的一些参数,更多的参数请参见README文件
运行后启动,测试用户root及ftpu,一切ok..
5 自动启动
pureftp支持多种启动方式,俺采用了最容易的一种:
vi /etc/rc.d/rc.local
添加
cd /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 40000:50000 -R -w
reboot,一切ok
6 善后工作:
下面就可以给你的系统建立用户了。
对于不同的目录或文件,可以采用
chown ftpuser dir 及 chgrp ftpusers dir 来进行权限的分配
这样ftp中才能对文件和目录进行操作。
7 其他
pureftpd 另外也提供了一个图形界面的配置管理器。可在sourcefouge同时下载。可惜我是远程telnet的,无法用。看图片应该是还不错的。
不喜欢命令行的可以试试看。
总结:
写这篇文章是郁闷了一天之后的心得。之前的proftpd我始终搞不明白其配置方式及用户授权机制。只好改用pureftpd,没想到效果还不错。挺好用的。
另外一个心得就是,linux真tmd不是人用的。请原谅我在此说脏话。但是,确实,比起windows,linux的操作性差了很多很多很多.... 怪不得无法普及。
CSDN首发。转载请通知icecloud@sina.com。未经许可,禁止用于商业用途。