PureFTPD

相对于ProFTPD、WuFTPD等老牌 ftp 服务器,PureFTPD、vsftpd这些轻量级 ftp 服务器更加实用

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

  1. ## 绑定的地址和端口(默认为所有 IP地址 的 21端口)
  2. # Bind 127.0.0.1,21
  3. ## 将所有用户限制在主目录中 (不能跳出)
  4. ChrootEveryone yes
  5. ## 如果前一个设置为 no,下面组的成员(GID)可以跳出主目录;其他用户仍然受限
  6. ## 如果想取消所有限制,注释掉 ChrootEveryone 和 TrustedGID
  7. # TrustedGID 100
  8. ## 如果用户主目录不存在,自动创建
  9. # CreateHomeDir yes
  10. ## 新建目录及文件的权限掩码(禁止的权限)。文件掩码:目录掩码
  11. Umask 133:022
  12. ## 被动模式响应的端口范围
  13. # PassivePortRange 30000 50000
  14. ## 强制一个 IP地址 使用被动模式
  15. # ForcePassiveIP 192.168.0.1
  16. ## 仅允许认证用户进行 FXP 传输 (服务器=>服务器)
  17. AllowUserFXP yes
  18. ## 允许匿名 FXP 传输
  19. AllowAnonymousFXP no
  20. ## 兼容 ie 等山寨 ftp 客户端
  21. BrokenClientsCompatibility no
  22. ## 服务器允许的最大连接数
  23. MaxClientsNumber 50
  24. ## 同一 IP 允许的最大连接数
  25. MaxClientsPerIP 8
  26. ## 匿名用户最大带宽(KB/s)
  27. # AnonymousBandwidth 8
  28. ## 所有用户最大带宽(KB/s),包括匿名用户
  29. # UserBandwidth 8
  30. # 匿名用户的上传/下载的比率
  31. # AnonymousRatio 1 10
  32. # 所有用户的上传/下载的比率
  33. # UserRatio 1 10
  34. ## 客户端的最大空闲时间(缺省15分钟,无动作将会被踢出)
  35. MaxIdleTime 15
  36. ## 不允许认证用户 (仅作为一个公共的匿名 FTP)
  37. AnonymousOnly no
  38. ## 不允许匿名连接,仅允许认证用户使用 (设置为 no 允许匿名连接)
  39. NoAnonymous no
  40. ## 受信地址允许认证用户,其它地址只能匿名连接
  41. #TrustedIP 10.1.1.1
  42. ## 禁止匿名上传( no = 允许上传)
  43. AnonymousCantUpload no
  44. ## 是否允许匿名用户创建目录
  45. AnonymousCanCreateDirs no
  46. ## 'ls' 命令的递归限制。(文件的最大数目 最大子目录深度)
  47. LimitRecursion 2000 8
  48. ## 保留所有文件(禁止删除)
  49. # KeepAllFiles yes
  50. ## 如果上传的文件已经存在,自动重命名
  51. AutoRename no
  52. ## 禁止重命名
  53. # NoRename yes
  54. ## 禁止更改文件权限
  55. # NoChmod yes
  56. ## 禁止读取隐藏文件(如 .history, .ssh 等)
  57. ProhibitDotFilesRead no
  58. ## 禁止下载所有者为 "ftp" 的文件 (匿名用户上传后未被本地管理员验证的文件)
  59. AntiWarez yes
  60. ## 指定文件内容作为欢迎信息
  61. # FortunesFile /usr/share/fortune/zippy
  62. ## 启用磁盘限额。第一个数字为最大文件数,第二个数字为存储空间大小(单位:Mb)
  63. ## 1000:10 限制每一个用户只能使用 1000 个文件,共 10Mb
  64. # Quota 1000:10
  65. ## 最大可用空间,保证日志文件不会被覆盖 (默认为 99%)
  66. MaxDiskUsage 99

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

  1. ## LDAP 配置文件
  2. # LDAPConfigFile /etc/pureftpd-ldap.conf
  3. ## MySQL 配置文件
  4. # MySQLConfigFile /etc/pureftpd-mysql.conf
  5. ## Postgres 配置文件
  6. # PGSQLConfigFile /etc/pureftpd-pgsql.conf
  7. ## PureDB 用户数据库
  8. # PureDB /etc/pureftpd.pdb
  9. ## pure-authd 套接路径
  10. # ExtAuth /var/run/ftpd.sock
  11. ## 启用 PAM 认证
  12. # PAMAuthentication yes
  13. # 启用 Unix 系统认证 (/etc/passwd)
  14. # UnixAuthentication yes

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

  1. ## Syslog 日志 。默认为 "ftp", "none" 禁用日志
  2. SyslogFacility ftp
  3. ## 在日志文件中不解析主机名
  4. DontResolve yes
  5. ## 在日志中添加 PID
  6. # LogPID yes
  7. ## 使用 Apache 格式创建额外日志
  8. # AltLog clf:/var/log/pureftpd.log
  9. ## 使用优化格式创建额外日志
  10. # AltLog stats:/var/log/pureftpd.log
  11. ## 使用 W3C 格式创建额外日志
  12. # AltLog w3c:/var/log/pureftpd.log

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

启用配置文件