PureFTPD

相对于ProFTPDWuFTPD等老牌 ftp 服务器,PureFTPDvsftpd这些轻量级 ftp 服务器更加实用

PureFTPD 的配置文件通常为 /etc/pure-ftpd.conf[44]

## 绑定的地址和端口(默认为所有 IP地址 的 21端口)
# Bind                      127.0.0.1,21 

## 将所有用户限制在主目录中 (不能跳出)
ChrootEveryone              yes   

## 如果前一个设置为 no,下面组的成员(GID)可以跳出主目录;其他用户仍然受限
## 如果想取消所有限制,注释掉 ChrootEveryone 和 TrustedGID 
# TrustedGID                    100 

## 如果用户主目录不存在,自动创建
# CreateHomeDir               yes 

## 新建目录及文件的权限掩码(禁止的权限)。文件掩码:目录掩码 
Umask                       133:022 

## 被动模式响应的端口范围
# PassivePortRange          30000 50000

## 强制一个 IP地址 使用被动模式
# ForcePassiveIP                192.168.0.1 

## 仅允许认证用户进行 FXP 传输 (服务器=>服务器)
AllowUserFXP                yes

## 允许匿名 FXP 传输
AllowAnonymousFXP           no 

## 兼容 ie 等山寨 ftp 客户端
BrokenClientsCompatibility  no 

## 服务器允许的最大连接数
MaxClientsNumber            50 

## 同一 IP 允许的最大连接数
MaxClientsPerIP             8 

## 匿名用户最大带宽(KB/s)
# AnonymousBandwidth            8

## 所有用户最大带宽(KB/s),包括匿名用户
# UserBandwidth             8

# 匿名用户的上传/下载的比率
# AnonymousRatio                1 10

# 所有用户的上传/下载的比率
# UserRatio                 1 10 

## 客户端的最大空闲时间(缺省15分钟,无动作将会被踢出)
MaxIdleTime                 15 

## 不允许认证用户 (仅作为一个公共的匿名 FTP)
AnonymousOnly               no

## 不允许匿名连接,仅允许认证用户使用 (设置为 no 允许匿名连接)
NoAnonymous                 no   

## 受信地址允许认证用户,其它地址只能匿名连接
#TrustedIP                  10.1.1.1 

## 禁止匿名上传( no = 允许上传)
AnonymousCantUpload         no 

## 是否允许匿名用户创建目录
AnonymousCanCreateDirs      no 

## 'ls' 命令的递归限制。(文件的最大数目 最大子目录深度)
LimitRecursion              2000 8 

## 保留所有文件(禁止删除)
# KeepAllFiles                yes 

## 如果上传的文件已经存在,自动重命名
AutoRename                  no

## 禁止重命名
# NoRename 		      yes 

## 禁止更改文件权限
# NoChmod                     yes 

## 禁止读取隐藏文件(如 .history, .ssh 等)
ProhibitDotFilesRead        no 

## 禁止下载所有者为 "ftp" 的文件 (匿名用户上传后未被本地管理员验证的文件)
AntiWarez                   yes 

## 指定文件内容作为欢迎信息
# FortunesFile              /usr/share/fortune/zippy 

## 启用磁盘限额。第一个数字为最大文件数,第二个数字为存储空间大小(单位:Mb)
## 1000:10 限制每一个用户只能使用 1000 个文件,共 10Mb
# Quota                       1000:10 

## 最大可用空间,保证日志文件不会被覆盖 (默认为 99%)
MaxDiskUsage               99  

PureFTPD 允许同时使用多种用户认证方式。以下为关于用户认证的配置:

## LDAP 配置文件 
# LDAPConfigFile                /etc/pureftpd-ldap.conf

## MySQL 配置文件
# MySQLConfigFile               /etc/pureftpd-mysql.conf

## Postgres 配置文件 
# PGSQLConfigFile               /etc/pureftpd-pgsql.conf

## PureDB 用户数据库 
# PureDB                        /etc/pureftpd.pdb

## pure-authd 套接路径
# ExtAuth                       /var/run/ftpd.sock

## 启用 PAM 认证
# PAMAuthentication             yes

# 启用 Unix 系统认证 (/etc/passwd)
# UnixAuthentication            yes   

PureFTPD 可以使用 syslog 生成日志,以下为关于日志的配置:

## Syslog 日志 。默认为 "ftp", "none" 禁用日志
SyslogFacility              ftp 

## 在日志文件中不解析主机名
DontResolve                 yes   

## 在日志中添加 PID  
# LogPID                     yes

## 使用 Apache 格式创建额外日志
# AltLog                     clf:/var/log/pureftpd.log

## 使用优化格式创建额外日志
# AltLog                     stats:/var/log/pureftpd.log

## 使用 W3C 格式创建额外日志 
# AltLog                     w3c:/var/log/pureftpd.log   
  


[44] 查看/etc/init.d/pure-ftpd文件,可以看到类似字句:
/usr/sbin/pure-config.pl /etc/pure-ftpd.conf

启用配置文件