Centos PureFTPd+PureDB 编译安装配置
http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.36.tar.gz
tar xzvf pure-ftpd-1.0.36.tar.gz
cd pure-ftpd-1.0.36
./configure --prefix=/usr/local/pureftpd --with-quotas --with-cookie --with-virtualhosts --with-virtualchroot --with-diraliases --with-sysquotas --with-ratios --with-altlog --with-paranoidmsg --with-welcomemsg --with-throttling --with-uploadscript --with-language=simplified-chinese --with-ftpwho --with-peruserlimits --with-puredb
编译说明
--with-puredb 虚拟用户认证
--with-cookie 在用户登录时显示标志或banner
--with-virtualhosts 多IP服务器可做为多个虚拟的ftp服务器
--with-diraliases 支持目录别名
--with-sysquotas 支持系统配额
--with-quotas 用户配额(文件数和总大小)
--with-ratios 上传下载比例
--with-altlog 日志输出,对于主站,量太大,可以不用
--with-paranoidmsg 友好的错误信息
--with-peruserlimits 单用户连接数限制
--with-welcomemsg 欢迎消息
--with-throttling 支持带宽限制
--with-uploadscript 支持自动上传脚本
--with-virtualchroot 限制用户不能到家目录外(符号链接除外)
--with-ftpwho 支持pure-ftpwho命令,启用这个功能需要更多的额外内存
--with-language=simplified-chinese 中文语言支持
make
make install
cp configuration-file/pure-config.pl /usr/local/pureftpd/sbin/
chmod 755 /usr/local/pureftpd/sbin/pure-config.pl
mkdir /usr/local/pureftpd/etc/
cp configuration-file/pure-ftpd.conf /usr/local/pureftpd/etc/
# vi /usr/local/pureftpd/etc/pure-ftpd.conf
# 开启FTP文件覆盖
AllowOverwrite on
AllowStoreRestart on
# 关闭匿名登录
NoAnonymous yes
# PureDB验证
PureDB /usr/local/pureftpd/etc/pureftpd.pdb
加入系统服务
cp contrib/redhat.init /etc/init.d/pureftpd
sed -i 's#/usr/local/sbin/#/usr/local/pureftpd/sbin/#g' /etc/init.d/pureftpd
sed -i 's#/etc/pure-ftpd.conf#/usr/local/pureftpd/etc/pure-ftpd.conf#g' /etc/init.d/pureftpd
chmod 755 /etc/init.d/pureftpd
chkconfig --add pureftpd
chkconfig --level 2345 pureftpd on
建立虚拟用户
# /usr/local/pureftpd/bin/pure-pw useradd ftpuser -u apache -g apache -d /var/www/html -m
并配置密码
参数说明
-t 下载带宽限制
-T 上传带宽限制
-n 最大文件数目
-N 磁盘配额(单位M)
-q 上传速度限制
-Q 下载速度限制
-r 允许某些ip/网段的客户端访问
-R 拒绝某些ip/网段的客户端访问
-i 允许本地某些ip/网段访问(allow local host)
-I 拒绝本地某些ip/网段访问(deny local host)
-y 同时最大连接数目
-z 允许连接服务器的时间段,格式hhmm-hhmm,如 -z 0412-1618代表用户只能在凌晨4点12分至下午4点18分连接服务器
-f passwd_file
-F puredb_file
-m 不必重启Pure-FTPd以及重新生成puredb_file文件
如果进行帐户操作时,没有带-m 参数,那就应该手动更新一下pdb数据
/usr/local/pure-ftpd/bin/pure-pw mkdb pureftpd.pdb
pure-pw useradd 添加用户
pure-pw userdel 删除用户
pure-pw usermod 修改用户
pure-pw show 查看用户详细信息
pure-pw list 查看所有用户设置
pure-pw mkdb 生成数据文件
pure-ftpd.conf配置文件解释
============================================================================
ChrootEveryone yes #限制所有用户在其主目录中
BrokenClientsCompatibility no #兼容ie等比较非正规化的ftp客户端
MaxClientsNumber 50 #服务器总共允许同时连接的最大用户数
Daemonize yes #做为守护(doemon)进程运行(Fork in background)
MaxClientsPerIP 8 #同一IP允许同时连接的用户数
VerboseLog no #如果你要记录所有的客户命令,设置这个指令为 "yes"
DisplayDotFiles yes #即使客户端没有发送 '-a' 选项也列出隐藏文件
AnonymousOnly no #不允许认证用户 - 仅作为一个公共的匿名FTP。
NoAnonymous yes #不允许匿名连接,仅允许认证用户使用。
SyslogFacility ftp #缺省的功能( facility )是 "ftp","none" 将禁止日志。
DontResolve yes #在日志文件中不解析主机名。
MaxIdleTime 15 #客户端允许的最大的空闲时间(分钟,缺省15分钟)
PureDB /usr/local/pureftp/etc/pureftpd.pdb #PureDB用户数据库
LimitRecursion 2000 8 #'ls' 命令的递归限制。第一个参数给出文件显示的最大数目。第二个参数给出最大的子目录深度.
AnonymousCanCreateDirs no #允许匿名用户创建新目录?
MaxLoad 4 #如果系统被 loaded 超过下面的值,匿名用户会被禁止下载。
AntiWarez yes #不接受所有者为 "ftp" 的文件的下载。
Bind 10.10.10.10,21 #服务监听的IP 地址和端口。
Umask 133:022 #新建目录及文件的属性掩码值。<文件掩码>;:<目录掩码>; .
MinUID 500 #认证用户允许登陆的最小组ID(UID) 。
AllowUserFXP yes #仅允许认证用户进行 FXP 传输。
AllowAnonymousFXP no #对匿名用户和非匿名用户允许进行匿名 FXP 传输。
ProhibitDotFilesWrite no #用户不能删除和写点文件(文件名以 '.' 开头的文件)
ProhibitDotFilesRead no #禁止读点文件(文件名以 '.' 开头的文件) (.history, .ssh...)
AutoRename no #永不覆盖文件。当上传的文件,其文件名已经存在时,自动重命名,如: file.1, file.2, file.3, ...
AnonymousCantUpload no #不接受匿名用户上传新文件( no = 允许上传)
AltLog clf #使用类似于Apache的格式创建一个额外的日志文件
MaxDiskUsage 99 #来保护日志文件。当所在磁盘分区使用超过百分之 X 时,将不在接受新的上传。
CustomerProof yes
UnixAuthentication no #不起用简单的 Unix系统 认证方式(/etc/passwd)。
如果apache的用户id小于500,就需要修改配置文件,否则登录就会出现530错误