洞悉本質在不確定的世界預見未來

Pure-ftpd配置文件詳解

# 將每個用戶限制在自己的home目錄下
ChrootEveryone	yes

# 如果前一個指令被設置為了 "no",下面組的成員(GID)就不受主目錄的限制了。
# 而其他的用戶還是會被限制在自己的主目錄裡。如果你不想把任何用戶限制在自己的主目錄裡,
# 只要注釋掉 ChrootEveryone 和 TrustedGID 就可以了。
# TrustedGID	100

# 兼容ie等比較非正規化的ftp客戶端。默認:no
BrokenClientsCompatibility	yes

# 最大用戶連接數。默認:50
MaxClientsNumber	30

# 後台模式(守護進程模式)
Daemonize	yes

# 同一個IP允許連接數(可以防止迅雷、快車等程序瘋狂開線程)。默認:8
MaxClientsPerIP	8

# 如果要記錄所有的客戶端命令,請設置為‘yes’該選項可以將日誌同步複製到日誌服務器。默認:no
# VerboseLog	yes

# 顯示隱藏文件。默認:yes
DisplayDotFiles	yes

# 不允許驗證用戶。只作為匿名ftp服務器。默認:no
AnonymousOnly	no

# 不允許匿名用戶連接。只允許驗證用戶連接。默認:yes
NoAnonymous	yes

# 該選項是說將何種類型的日誌同步寫入到syslog中。
# 類型包括(auth, authpriv, daemon, ftp, security, user, local*)
# 默認是"ftp"如果不想將ftp的日誌顯示在/var/log/message中。則禁用即可: "none"
SyslogFacility	none

# 顯示 cookies
# FortunesFile	/usr/share/fortune/zippy

# 在日誌文件中不解析主機名。日誌越詳細所需要的帶寬也就越大。如果服務器的
# DNS解析有問題或者服務器的負載過大,建議將該選項配置yes。默認為:yes
DontResolve	yes

# 最大空閒時間。單位:分鐘 (默認 = 15 分鐘)
MaxIdleTime	15

# LDAP 配置文件
# LDAPConfigFile	/etc/pure-ftpd/db/ldap.conf

# MySQL 配置文件 (詳情見 README.MySQL)
MySQLConfigFile	/etc/pure-ftpd/db/mysql.conf

# Postgres 配置文件 (詳情見 README.PGSQL)
# PGSQLConfigFile	/etc/pure-ftpd/db/pgsql.conf

# PureDB 用戶數據庫 (詳情見 README.Virtual-Users)
PureDB	/etc/pure-ftpd/pureftpd.pdb

# pure-authd 的 socket 路徑 (詳見 README.Authentication-Modules)
# ExtAuth	/var/run/ftpd.sock

# 如果要使用PAM驗證,取消下面行的注釋。默認:yes
PAMAuthentication	yes

# 如果要使用/etc/passwd 文件驗證。取消下面行的注釋。默認:no
UnixAuthentication	no

# 注意:LDAPConfigFile, MySQLConfigFile, PAMAuthentication 與 UnixAuthentication
# 只能啟用一個,但他們可以聯合使用。例如:你啟用了 MySQLConfigFile 之後又啟用了
# UnixAuthentication那麼同一時刻只有SQL server 可用。如果SQL authentication 失敗,
# 例如用戶沒有找到,那麼系統會重試其他的方式來驗證,這時候它就會找/etc/passwd 和
# /etc/shadow文件. 如果通過 SQL 驗證的結果是因為密碼錯誤,那麼就不會在進行下面的
# 驗證了。由此得知,驗證方法可以寫多個,但同一個時刻只有一個工作,且當驗證時找不
# 到信息時才會進行下一個驗證方式。但當驗證錯誤時就終止驗證了。

# 'ls' 遞歸限制。第一個參數是最大可顯示的文件數。第二個參數是子文件夾深度
LimitRecursion	4000 8

# 匿名用戶是否可以創建新文件夾
AnonymousCanCreateDirs	no

# 如果系統負載超過下面所給的數字,那麼匿名用戶將無法下載
MaxLoad	4

# 在被動連接模式下為其分配的端口範圍。便於制定防火牆配置。
PassivePortRange	30000 50000

# 強制某個IP地址工作在 PASV/EPSV/SPSV 模式. - for NAT.
# ForcePassiveIP	192.168.0.1

# 匿名用戶上傳/下載比率
# AnonymousRatio	1 10

# 所有用戶 上傳/下載 比率。該選項可以取代上面的選項
# UserRatio	1 10

# 禁止下載所有者為‘ftp’的文件。例如:那些匿名用戶上傳後未被本地管理員驗證的文件。
AntiWarez	yes

# 用來監聽的IP地址和端口 (默認=所有 IP 和 21 端口).
Bind	127.0.0.1,21

# 匿名用戶最大帶寬限制,單位 KB/s
# AnonymousBandwidth	200

# 所有用戶的最大帶寬限制(包括匿名)單位 KB/s
# 沒有必要同時開啟 AnonymousBandwidth 和 UserBandwidth
# UserBandwidth	1024

# 新建文件默認掩碼. <文件掩碼>:<目錄掩碼>
# 為了安全起見可以設置為 177:077
Umask	133:022

# 驗證登錄用戶的最小UID
MinUID	100

# 僅允許認證用戶進行 FXP 傳輸
AllowUserFXP	no

# 對匿名用戶和非匿名用戶允許進行匿名 FXP 傳輸
AllowAnonymousFXP	no

# 用戶不能刪除/寫入隱藏文件,即便是文件的擁有者也不允許。
# 如果 TrustedGID 選項為 enabled 文件所屬組用戶可以訪問隱藏文件
ProhibitDotFilesWrite	no

# 禁止讀取隱藏文件 (如 .history, .ssh...)
ProhibitDotFilesRead	no

# 永不覆蓋文件。如果上傳的文件已經存在,系統會自動將其命名為file.1, file.2, file.3, ...
AutoRename	yes

# 不允許匿名用戶上傳文件 (no = 允許上傳)
AnonymousCantUpload	no

# 僅允許來自以下IP地址的非匿名用戶連接。你可以使用這個指令來打開幾個公
# 網IP來提供匿名FTP,而保留一個私有的防火牆保護的IP來進行遠程管理。你
# 還可以只允許一內網地址進行認證,而在另外一個IP上提供純匿名的FTP服務。
# TrustedIP	10.1.1.1

# 如果你要在登陸日誌的每一行添加PID標記,去掉下行的注釋
# LogPID	yes

# 使用類似於Apache格式創建一個附加的日誌文件,如:
# 這個日誌文件可以被www流量分析工具來處理
AltLog	clf:/var/log/pure-ftpd/transfer.log

# 使用優化過的格式為統計報告創建一個額外的日誌文件
# AltLog	stats:/var/log/pureftpd.log

# 使用標準的W3C格式創建一個額外的日誌文件。(與大部分的商業日誌分析器兼容)
# AltLog	w3c:/var/log/pureftpd.log

# 不允許使用chmod命令.用戶不能修改他們上傳文件的屬性
# NoChmod	yes

# 允許用戶恢復和上傳文件,但不能夠上除他們
# KeepAllFiles	yes

# 用戶主目錄不存在的話,自動創建目錄。默認:yes
CreateHomeDir	no

# 啟用虛擬磁盤配額。第一個參數是最大文件數,第二個參數是總共的大小,單位是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-uploadscript 選項,這個指令將會使
# pure-ftpd 發送關於新上傳的情況信息到 /var/run/pure-ftpd.upload.pipe,
# 這樣 pure-uploadscript 就能讀然後調用一個腳本去處理新的上傳。
CallUploadScript	yes

# 這個選項對於匿名上傳的服務器是很有用的。/var/ftp 在 /var 裡時,需要保留一定
# 磁盤空間來保護日誌文件。當所在磁盤分區使用超過百分之 X 時,將不在接受新的上傳。
MaxDiskUsage	99

# 如果不想讓用戶來重命名文件,請將其設置為yes
# NoRename	yes

# 'customer proof' : 選項可以阻止普通用戶因誤操作而執行的錯誤命令
# 如:'chmod 0 public_html', 這是有效的命令,但執行完命令之後用戶
# 就將他們自己的文件鎖定了,這時你的麻煩就來了,你需要給用戶解決這
# 些由於用戶而造成的愚蠢問題。如果你確信的你用戶都具有一些unix基礎
# 知識的話,那麼該選項就沒有必要設置,否則建議啟用它。
CustomerProof	yes

# 所有用戶都做同樣的限制。只有編譯時加入了--with-peruserlimits 選項
# 才可以啟用。格式為: <每一個用戶最大許可的進程>:<匿名用戶最大進程>
# 例如:3:20 同一個認證用戶最大可以有3個同時活動的進程。而且同時最多
# 只能有20個匿名用戶進程
# PerUserLimits	3:20

# 當文件上傳時,服務器上之前已經有一個同名的文件時,舊的文件既不會被移動
# 也不會被刪除。在新文件上傳完畢之前會將上傳的部分暫時放到一個臨時的文件
# 中,當上傳完畢之後會自動的切換到新上傳的文件。例如:當服務器上有一個PHP
# 腳本正在執行,但我現在要上傳一個新的PHP腳本,那麼當我在上傳完畢之後才將
# 舊的文件切換到新的文件。而不是像某些程序那樣在開始上傳的時候就將舊的文件
# 覆蓋掉了,這樣做的目的就是可以最大程度的減少正在運行中的程序錯誤。該選項
# 與虛擬配額不能同時使用。
# NoTruncate	yes

# 該選項可以接受3個可選值:
# 0 : 禁用 SSL/TLS 加密層 (默認).
# 1 : 同時接受傳統的和加密的連接
# 2 : 拒絕沒有經過 SSL/TLS 安全驗證的連接,包括匿名連接
# 在沒有確定下面三個問題之前不要盲目的取消註釋:
# 1) 編譯PureFTPd時是否啟用了 SSL/TLS 支持 (--with-tls),
# 2) 系統中是否包含一個有效的證書
# 3) 開啟後只有兼容的客戶端才能登陸
TLS	2

# 在 standalone 模式下只監聽IPV4的地址 (與禁用 IPv6 相同)
# 默認是IPV4與IPV6同時監聽
# IPV4Only	yes

# 在 standalone 模式下只監聽IPV6的地址 (與禁用 IPv4 相同)
# IPV6Only	yes

# 默認字符集
FSCharset	UTF-8
# 文件名的UTF-8支持
# FileSystemCharset	big5
# ClientCharset	big5
back to top