# /usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/f
#
# RPM 缺省使⽤另外⼀个配置⽂件:
# /etc/sysconfig/pure-ftpd
#
# 请不要忘了浏览⼀下 [url]/documentation.html[/url] 的
# ⽂档,查看全部的选项列表。
# 限制所有⽤户在其主⽬录中
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.
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分钟)
MaxIdleTime                15
# LDAP 配置⽂件 (参考 README.LDAP)
# LDAPConfigFile            /f
# 配置⽂件 (参考 README.MySQL)
# MySQLConfigFile            /f
# Postgres 配置⽂件 (参考 README.PGSQL)
# PGSQLConfigFile            /f
# PureDB ⽤户 (参考 README.Virtual-Users)
# PureDB                      /etc/pureftpd.pdb
# pure-authd 的socket 路径(参考 README.Authentication-Modules)
# ExtAuth                      /var/run/ftpd.sock
# 如果你要启⽤ PAM 认证⽅式, 去掉下⾯⾏的注释。
# PAMAuthentication          yes
# 如果你要启⽤简单的 Unix系统认证⽅式(/etc/passwd), 去掉下⾯⾏的注释。
# UnixAuthentication          yes
# 请注意,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.
# 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, .)
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
# 使⽤类似于的格式创建⼀个额外的⽇志⽂件,如:
# - 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-uploadscrīpt ⽀持,这个指令将会使 pure-ftpd
# 发送关于新上传的情况信息到 /var/run/pure-ftpd.upload.pipe,这样 pure-uploadscrīpt
# 就能读然后调⽤⼀个脚本去处理新的上传。
# CallUploadscrīpt 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