title: pureftp配置说明 #标题tags: pureftp #标签
date: 2020-09-14
categories: linux大杂烩 # 分类
记录下pureftp配置文件中的各项解释(其实默认的配置文件中已经解释的很明白了)。
注: 以下配置文件以“#” 号开头的,表示不建议配置,了解即可。
# 锁定所有用户到家目录中
ChrootEveryone yes
# 信任组ID 100,可以不锁定
TrustedGID 100
# 兼容不同客户端
BrokenClientsCompatibility no
# 最大的客户端数量
MaxClientsNumber 500
# 后台运行
Daemonize yes
# 每个ip最大连接数
MaxClientsPerIP 8
# 记录所有客户端命令的日志
VerboseLog yes
# 显示隐藏文件
DisplayDotFiles yes
# 不允许匿名用户
NoAnonymous yes
# 设置日志的告警级别,默认为ftp,none是禁止记录日志
# 可选值: (auth, authpriv, daemon, ftp, security, user, local*)
SyslogFacility ftp
# 定制用户登陆后的显示信息
FortunesFile /usr/share/fortune/zippy
# 是否在日志文件中进行主机名解析,不进行客户端DNS解析
DontResolve yes
# 最大空闲时间(单位为分钟,默认为15分钟)
MaxIdleTime 30
# 下面几个配置文件路径四选一即可,其用意是指定ftp的验证方式
# LDAP 配置文件路径
# LDAPConfigFile /etc/pureftpd-ldap.conf
# MySQL 配置文件路径
# MySQLConfigFile /usr/local/pureftpd/etc/pureftpd-mysql.conf
# Postgres 配置文件路径
# PGSQLConfigFile /etc/pureftpd-pgsql.conf
# PureDB 用户数据库路径
PureDB /usr/local/pureftpd/etc/pureftpd.pdb
# 如果你要启用 PAM 认证方式, 去掉下面行的注释
# PAMAuthentication yes
# 如果你要启用 简单的 Unix系统 认证方式(/etc/passwd), 去掉下面行的注释
# UnixAuthentication yes
# 'ls' 命令的递归限制。第一个参数给出文件显示的最大数目。第二个参数给出最大的子目录深度。
LimitRecursion 10000 8
# 是否允许匿名用户创建新目录
AnonymousCanCreateDirs no
# 如果系统负载超过以下值,则不允许匿名用户下载。
MaxLoad 4
# 被动模式的端口范围
PassivePortRange 30000 50000
# 强制一个IP地址使用被动响应
# ForcePassiveIP 192.168.0.1
# 匿名用户的上传/下载的比率
# AnonymousRatio 1 10
# 所有用户的上传/下载的比率
# UserRatio 1 10
# 禁止下载匿名用户上传但未经验证的文件
AntiWarez yes
# 服务监听的IP 地址和端口。(默认是所有IP地址和21端口)
# Bind 127.0.0.1,21
# 匿名用户带宽限制(KB)
# AnonymousBandwidth 8
# 所有用户(包括匿名用户)的最大带宽(KB/s)
# AnonymousBandwidth 或UserBandwidth,不要同时使用
# UserBandwidth 4096
# 新建文件及目录的umask值(前者133表示文件的umask值,后者022表示目录的umask值)
Umask 133:022
# 指定登录用户的UID的最小值(5900表示UID小于5900的虚拟用户将不允许登录到ftp)
MinUID 5900
# 允许认证用户进行 FXP 传输。
AllowUserFXP no
#允许匿名和非匿名用户使用匿名FXP。
AllowAnonymousFXP no
# 禁止用户写入或删除隐藏文件,除非其GID配置了TrustedGID
ProhibitDotFilesWrite no
# 禁止读取隐藏文件
ProhibitDotFilesRead no
# 有同名文件时自动重新命名为file.1,file.2...
AutoRename no
# 不允许匿名用户上传文件
AnonymousCantUpload no
# 仅允许来自以下IP地址的非匿名用户连接。你可以使用这个指令来打开几个公网IP来提供匿名FTP,
# 而保留一个私有的防火墙保护的IP来进行远程管理。你还可以只允许一内网地址进行认证,而在另外
# 一个IP上提供纯匿名的FTP服务。
#TrustedIP 10.1.1.1
# 要将PID添加到日志条目中,请取消下面一行的注释
#LogPID yes
# 使用类似于Apache的格式创建一个额外的日志文件
# 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
# 限制用户可以创建的最大文件数和用户空间大小(下面表示最多文件数为10000,最大空间大小为10G)
# Quota 10000:10240
# PID文件位置
PIDFile /var/run/pure-ftpd.pid
# 如果你的 pure-ftpd 编译时加入了 pure-uploadscript 支持,这个指令将会使 pure-ftpd
# 发送关于新上传的情况信息到 /var/run/pure-ftpd.upload.pipe,这样 pure-uploadscript
# 就能读然后调用一个脚本去处理新的上传
# CallUploadScript yes
# 文件所在磁盘的最大使用率
MaxDiskUsage 98
# 是否允许重命名文件(默认为“yes”不允许)
NoRename no
# 打开以防止用户犯常识性错误
CustomerProof yes
# 单个用户限制:每一个用户最大允许的进程;最大的匿名用户进程
# PerUserLimits 3:20
# When a file is uploaded and there was already a previous version of the file
# with the same name, the old file will neither get removed nor truncated.
# The file will be stored under a temporary name and once the upload is
# complete, it will be atomically renamed. For example, when a large PHP
# script is being uploaded, the web server will keep serving the old version and
# later switch to the new one as soon as the full file will have been
# transferred. This option is incompatible with virtual quotas.
# NoTruncate yes
#这个选项接受三个值:
# 0: 默认,禁用SSL/TLS加密层.
# 1: 接受明文和加密会话。
# 2: 拒绝不使用TLS安全机制的连接,包括匿名会话。
不要盲目地取消注释。双重检查:
# 1)服务器已经在TLS支持下进行编译(—with- TLS),
# 2)有有效的证书,
# 3)只有兼容的客户端才会登录。
TLS 2
# Cipher suite for TLS sessions.
# The default suite is secure and setting this property is usually
# only required to *lower* the security to cope with legacy clients.
# Prefix with -C: in order to require valid client certificates.
# If -C: is used, make sure that clients' public keys are present on
# the server.
# TLSCipherSuite HIGH
# 指定证书文件
CertFile /opt/pureftpd/etc/ssl/pure-ftpd.pem
# Unix socket of the external certificate handler, for TLS
# ExtCert /var/run/ftpd-certs.sock
# 禁用IPV6,默认开启IPv4和IPv6
# IPV4Only yes
# 禁用IPV4,默认开启IPv4和IPv6
# IPV6Only yes