proftpd.conf 檔如下
ServerName "ProFTPD server"
ServerIdent on "FTP Server ready."
ServerAdmin root@localhost
ServerType standalone
#ServerType inetd
DefaultServer on
AccessGrantMsg "User %u logged in."
#DisplayConnect /etc/ftpissue
#DisplayLogin /etc/ftpmotd
#DisplayGoAway /etc/ftpgoaway
DeferWelcome off
# Use this to excude users from the chroot
#DefaultRoot ~ !adm
DefaultRoot ~
# Use pam to authenticate (default) and be authoritative
#AuthPAMConfig proftpd
#AuthOrder mod_auth_pam.c* mod_auth_unix.c
# Do not perform ident nor DNS lookups (hangs when the port is filtered)
IdentLookups off
UseReverseDNS off
# Port 21 is the standard FTP port.
Port 21
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022
# Default to show dot files in directory listings
ListOptions "-a"
# See Configuration.html for these (here are the default values)
#MultilineRFC2228 off
RootLogin off
#LoginPasswordPrompt on
#MaxLoginAttempts 3
#MaxClientsPerHost none
#AllowForeignAddress off # For FXP
# 最多允許 100 個使用者在線上
MaxClients 3 "很抱歉上線人數額滿了,最多線上人數3人"
# 同一個主機最多可以同時 5 個 FTP 連線
MaxClientsPerHost 6
# 允許使用者上傳續傳!預設是 off
AllowStoreRestart on
PassivePorts 65400 65430
# Allow to resume not only the downloads but the uploads too
AllowRetrieveRestart on
AllowStoreRestart on
# To prevent DoS attacks, set the maximum number of child processes
# to 30. If you need to allow more than 30 concurrent connections
# at once, simply increase this value. Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd)
MaxInstances 5
# Set the user and group that the server normally runs at.
User nobody
Group nobody
# Disable sendfile by default since it breaks displaying the download speeds in
# ftptop and ftpwho
UseSendfile no
# This is where we want to put the pid file
ScoreboardFile /var/run/proftpd.score
# Normally, we want users to do a few things.
<Global>
AllowOverwrite yes
<Limit ALL SITE_CHMOD>
AllowAll
</Limit>
RootLogin off
UseFtpUsers on
</Global>
TransferLog /var/log/proftpd/xferlog
SystemLog /var/log/proftpd/system.log
# Define the log formats
LogFormat default "%h %l %u %t "%r" %s %b"
LogFormat auth "%v [%P] %h %t "%r" %s"
# TLS
# Explained at http://www.castaglia.org/proftpd/modules/mod_tls.html
#TLSEngine on
#TLSRequired on
#TLSRSACertificateFile /etc/pki/tls/certs/proftpd.pem
#TLSRSACertificateKeyFile /etc/pki/tls/certs/proftpd.pem
#TLSCipherSuite ALL:!ADH:!DES
#TLSOptions NoCertRequest
#TLSVerifyClient off
##TLSRenegotiate ctrl 3600 data 512000 required off timeout 300
#TLSLog /var/log/proftpd/tls.log
# SQL authentication Dynamic Shared Object (DSO) loading
# See README.DSO and howto/DSO.html for more details.
<IfModule mod_dso.c>
LoadModule mod_sql.c
LoadModule mod_sql_mysql.c
# LoadModule mod_sql_postgres.c
</IfModule>
# A basic anonymous configuration, with an upload directory.
#<Anonymous ~ftp>
# User ftp
# Group ftp
# AccessGrantMsg "Anonymous login ok, restrictions apply."
#
# # We want clients to be able to login with "anonymous" as well as "ftp"
# UserAlias anonymous ftp
#
# # Limit the maximum number of anonymous logins
# MaxClients 10 "Sorry, max %m users — try again later"
#
# # Put the user into /pub right after login
# #DefaultChdir /pub
#
# # We want 'welcome.msg' displayed at login, '.message' displayed in
# # each newly chdired directory and tell users to read README* files.
# DisplayLogin /welcome.msg
# DisplayFirstChdir .message
# DisplayReadme README*
#
# # Some more cosmetic and not vital stuff
# DirFakeUser on ftp
# DirFakeGroup on ftp
#
# # Limit WRITE everywhere in the anonymous chroot
# <Limit WRITE SITE_CHMOD>
# DenyAll
# </Limit>
#
# # An upload directory that allows storing files but not retrieving
# # or creating directories.
# <Directory uploads/*>
# AllowOverwrite no
# <Limit READ>
# DenyAll
# </Limit>
#
# <Limit STOR>
# AllowAll
# </Limit>
# </Directory>
#
# # Don't write anonymous accesses to the system wtmp file (good idea!)
# WtmpLog off
#
# # Logging for the anonymous transfers
# ExtendedLog /var/log/proftpd/access.log WRITE,READ default
# ExtendedLog /var/log/proftpd/auth.log AUTH auth
#
#</Anonymous>
# START config proftpd MySQL
# 使用 mysql 資料庫為主
SQLBackend mysql
# 密碼認證 已 PASSWORD() 產生為主
SQLAuthTypes Backend
#SQLAuthTypes Crypt Backend Plaintext
SQLAuthenticate on
# MySQL 連線資訊,資料庫名稱@主機 帳號 密碼
SQLConnectInfo test@localhost test test
# 使用者資料庫欄位
SQLUserInfo ftp_user userid password uid gid home shell
# 群組資料庫欄位
SQLGroupInfo ftp_group groupname gid members
# SQL Log 檔,這算比較選擇性的參數。不過我都留著來檢查 SQL 有沒有發生
# 什麼問題,主要是用在 debug 上面。
SQLLogFile /var/log/proftpd/sql.log
# 當 Home 目錄不存在,會自己產生。
SQLHomedirOnDemand on
#SQLMinID 500
# SQL Log 格式,當正確登入時,要執行的 SQL 語法
SQLLog PASS updatecount
SQLNamedQuery updatecount UPDATE "count=count+1, accessed=now(),address='%h' where userid='%u'" ftp_user
# SQL Log 格式,當儲存或刪除檔案時,要執行的 SQL 語法
SQLLog STOR,DELE modified
SQLNamedQuery modified UPDATE "modified=now() where userid='%u'" ftp_user
# 登入時紀錄
#SQLLog PASS userLogin
#SQLNamedQuery userLogin INSERT "%u, 'login', NOW(), %h" ftp_user_log
# 登出時紀錄
#SQLLog QUIT userLoginout
#SQLNamedQuery userLoginout INSERT "%u, 'loginout', NOW(), %h" ftp_user_log
proftpd.conf 下載:
proftpd.rar (2.97 KB , 下載:40次)