相对于ProFTPD、WuFTPD等老牌 ftp 服务器,PureFTPD、vsftpd这些轻量级 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