CentOS下Pureftp的配置文件常用配置项整理
RPM 缺省使用另外一个配置文件:
/etc/sysconfig/pure-ftpd
请不要忘了浏览一下 http://www.pureftpd.org/documentation.html 的文档,查看全部的选项列表。
限制所有用户在其主目录中
复制代码
ChrootEveryone yes
如果前一个指令被设置为了 "no",下面组的成员(GID)就不受主目录的限制了。而其他的用户还是
会被限制在自己的主目录里。如果你不想把任何用户限制在自己的主目录里,只要注释掉 ChrootEveryone
和 TrustedGID 就可以了。
复制代码
复制代码
复制代码
复制代码
复制代码
复制代码
复制代码
复制代码
TrustedGID 100
兼容ie等比较非正规化的ftp客户端
BrokenClientsCompatibility no
服务器总共允许同时连接的最大用户数
MaxClientsNumber 50
做为守护(doemon)进程运行(Fork in background)
Daemonize yes
同一IP允许同时连接的用户数(Maximum number of sim clients with the same IP address)
MaxClientsPerIP 8
如果你要记录所有的客户命令,设置这个指令为 "yes"。
This directive can be duplicated to also log server responses.</p><p>VerboseLog no
即使客户端没有发送 '-a' 选项也列出隐藏文件( dot-files 。
DisplayDotFiles yes
不允许认证用户 - 仅作为一个公共的匿名FTP。
AnonymousOnly no
不允许匿名连接,仅允许认证用户使用。
NoAnonymous no
Syslog facility (auth, authpriv, daemon, ftp, security, user, local*)
# 缺省的功能( facility 是 "ftp"。 "none" 将禁止日志。
SyslogFacility ftp
复制代码
定制用户登陆后的显示信息(Display fortune cookies)
FortunesFile /usr/share/fortune/zippy
在日志文件中不解析主机名。日志没那么详细的话,就使用更少的带宽。在一个访问量很大
的站点中,设置这个指令为 "yes" ,如果你没有一个能工作的DNS的话。
复制代码
复制代码
DontResolve yes
客户端允许的最大的空闲时间(分钟,缺省15分钟)
Max
[/code]
请注意,LDAPConfigFile, MySQLConfigFile, PAMAuthentication 和
UnixAuthentication 这些指令只能被使用一次,不过,他们能被混合在一起用。例如:如果你使用了
MySQLConfigFile 和 UnixAuthentication,那么 SQL 服务器将被访问。如果因为用户名未找
到而使 SQL 认证失败的话,就会在/etc/passwd 和 /etc/shadow 中尝试另外一种认证,如果因
为密码错误而使 SQL 认证失败的话,认证就会在此结束了。认证方式由它们被给出来的顺序而被链
接了起来。
'ls' 命令的递归限制。第一个参数给出文件显示的最大数目。第二个参数给出最大的子目录深度。
复制代码
复制代码
复制代码
LimitRecursion 2000 8
允许匿名用户创建新目录?
AnonymousCanCreateDirs no
如果系统被 loaded 超过下面的值,匿名用户会被禁止下载。
MaxLoad 4
被动连接响应的端口范围。
- for firewalling.
PassivePortRange 30000 50000
复制代码
复制代码
复制代码
复制代码
复制代码
强制一个IP地址使用被动响应( PASV/EPSV/SPSV replies)。 - for NAT.
Symbolic host names are also accepted for gateways with dynamic IP
addresses.
ForcePassiveIP 192.168.0.1匿名用户的上传/下载的比率。
AnonymousRatio 1 10
所有用户的上传/下载的比率。
This directive superscedes the previous one.</p><p>UserRatio 1 10
不接受所有者为 "ftp" 的文件的下载。例如:那些匿名用户上传后未被本地管理员验证的文件。
AntiWarez yes
服务监听的IP 地址和端口。(缺省是所有IP地址和21端口)
Bind 127.0.0.1,21
匿名用户的最大带宽(KB/s)。
AnonymousBandwidth 8
所有用户的最大带宽(KB/s),包括匿名用户。
Use AnonymousBandwidth *or* UserBandwidth, both makes no sense.
UserBandwidth 8
新建目录及文件的属性掩码值。<文件掩码>:<目录掩码> .
177:077 if you feel paranoid.
Umask 133:022
复制代码
复制代码
复制代码
认证用户允许登陆的最小组ID(UID) 。
MinUID 100
仅允许认证用户进行 FXP 传输。
AllowUserFXP yes
对匿名用户和非匿名用户允许进行匿名 FXP 传输。
AllowAnonymousFXP no
用户不能删除和写点文件(文件名以 '.' 开头的文件),即使用户是文件的所有者也不行。
如果 TrustedGID 指令是 enabled ,文件所属组用户能够访问点文件(dot-files)。
复制代码
复制代码
复制代码
复制代码
ProhibitDotFilesWrite no
禁止读点文件(文件名以 '.' 开头的文件) (.history, .ssh...)
ProhibitDotFilesRead no
永不覆盖文件。当上传的文件,其文件名已经存在时,自动重命名,如: file.1, file.2, file.3, ...
AutoRename no
不接受匿名用户上传新文件( no = 允许上传)
AnonymousCantUpload no
仅允许来自以下IP地址的非匿名用户连接。你可以使用这个指令来打开几个公网IP来提供匿名FTP,
而保留一个私有的防火墙保护的IP来进行远程管理。你还可以只允许一内网地址进行认证,而在另外
一个IP上提供纯匿名的FTP服务。
复制代码
复制代码
复制代码
复制代码
复制代码
复制代码
复制代码
复制代码
复制代码
TrustedIP 10.1.1.1
如果你要为日志每一行添加 PID 去掉下面行的注释。
LogPID yes
使用类似于Apache的格式创建一个额外的日志文件,如:
fw.c9x.org - jedi [13/Dec/1975:19:36:39] "GET /ftp/linux.tar.bz2" 200 21809338
这个日志文件能被 www 流量分析器处理。
AltLog clf:/var/log/pureftpd.log
使用优化过的格式为统计报告创建一个额外的日志文件。
AltLog stats:/var/log/pureftpd.log
使用标准的W3C格式创建一个额外的日志文件。(与大部分的商业日志分析器兼容)
AltLog w3c:/var/log/pureftpd.log
不接受 CHMOD 命令。用户不能更改他们文件的属性。
NoChmod yes
允许用户恢复和上传文件,却不允许删除他们。
KeepAllFiles yes
用户主目录不存在的话,自动创建。
CreateHomeDir yes
启用虚拟的磁盘限额。第一个数字是最大的文件数。
第二个数字是最大的总的文件大小(单位:Mb)。
所以,1000:10 就限制每一个用户只能使用 1000 个文件,共10Mb。
复制代码
Quota 1000:10
如果你的 pure-ftpd 编译时加入了独立服务器( standalone 支持,你能够改变 pid 文件
的位置。缺省位置是 /var/run/pure-ftpd.pid 。
复制代码
PIDFile /var/run/pure-ftpd.pid
如果你的 pure-ftpd 编译时加入了 pure-uploadscript 支持,这个指令将会使 pure-ftpd
发送关于新上传的情况信息到 /var/run/pure-ftpd.upload.pipe,这样 pure-uploadscript
就能读然后调用一个脚本去处理新的上传。
复制代码
CallUploadScript yes
这个选项对允许匿名上传的服务器是有用的。当 /var/ftp 在 /var 里时,需要保留一定磁盘空间
来保护日志文件。当所在磁盘分区使用超过百分之 X 时,将不在接受新的上传。
复制代码
复制代码
MaxDiskUsage 99
如果你不想要你的用户重命名文件的话,就设置为 'yes' 。
NoRename yes
是 'customer proof' : 工作区(workaround)反对普通的客户错误,类似于:'chmod 0 public_html' 的错误。
那是一个有效的命令,不过,将导致无知的客户所定他们自己的文件,将使你的技术支持忙于愚蠢的的问题中。
如果你确信你所有的用户都有基本的Unix知识的话,这个特性将没什么用了。不过,如果你是一个主机提供商
的话,启用它。
复制代码
CustomerProof yes
每一个用户的并发限制。只有在添加了 --with-peruserlimits 编译选项进行编译后,这个指令才起
作用。(大部分的二进制的发布版本就是例子)
格式是 : <每一个用户最大允许的进程>:<最大的匿名用户进程>
例如: 3:20 意思是同一个认证用户最大可以有3个同时活动的进程。而且同时最多只能有20个匿名用户进程。
复制代码
PerUserLimits 3:20