Proftpd的全面配置文件
Proftpd的配置文件:ProFTPD設計目標是實現一個安全且易于設定的FTP Server。目前Unix或類Unix平臺上 FTP Server十分有限,最常使用的恐怕就是wu-ftpd了。雖然wu-ftpd有著極佳的效能同時也是一套很好的軟件,然而它卻欠缺了許多Win32平臺上FTP Server的一些特色,同時wu-ftpd過去也有不少的安全漏洞陸續被發現。ProFTPD的原創者本身就曾經花非常多的時間尋找wu-ftpd 的漏洞加以改進并且增加許多功能。然而十分不幸的是,他很快地發現顯然wu-ftpd需要全部重新的改寫才能補足欠缺的設定能力以及缺乏的一些功能。ProFTPD不是從其它FTP Server的既有原始碼修改而產生的,相反的,它是完全獨立而完整、重新改寫的FTP Server。
新建兩個用戶:ftp和ftpadmin,home目錄都是/home/ftp
下面是proftpd的配置文件,比較全面的配置
- # cat /usr/local/etc/proftpd.conf
-------------------------------------------------------------------------
ServerName "babydragon's FTP" #服務器的名字
ServerType standalone #proftpd運行的方式,有standalone和inetd
DeferWelcome off #只有在認證用戶之后才顯示歡迎信息
Port 21 #ftp連接端口
Umask 002 #新文件的權限掩碼
TimeoutLogin 120 #登陸時允許idle的時間
TimeoutIdle 600 #登陸后允許idle的時間
TimeoutNoTransfer 900 #沒有數據傳輸時允許idle的時間
AllowStoreRestart on #允許斷點續上傳
AllowRetrieveRestart on #允許斷點續下載
PassivePorts 50000 65534 #指定數據端口的范圍
User nobody #以nobody,nogroup的身份運行程序
Group nogroup
RequireValidShell no #用戶是否擁有shell,關閉安全
MaxClientsPerHost 2 #每個ip只能有兩個連接
MaxClientsPerUser 1 #每個帳號只能有一個連接
DefaultRoot ~ #ftp的根目錄,~限制用戶只能訪問自己的目錄
UseReverseDNS off #關閉DNS反向查詢,節省連接時間
TransferLog /var/spool/syslog/proftpd/xferlog.legacy #數據傳輸記錄
LogFormat auth "%v %P %h %t "%r\" %s"
LogFormat write "%h %l %u %t "%r\" %s %b"
# 定義了幾種日志格式,可以根據自己的需要定制:
# %a:客戶ip
# %A:匿名用戶名(就是匿名用戶的password)
# %b:發送請求的字節數
# %d:目錄名(相對路徑)
# %D:目錄名(絕對路徑)
# %f:上傳或下載的文件名(絕對路徑)
# %F:上傳或下載的文件名(相對路徑)
# %h:客戶的域名
# %L:本服務器ip
# %m:客戶發送的命令
# %p:本服務器的端口
# %P:服務進程的id
# %r:客戶發送的整條命令
# %t:本地時間
# %T:傳送文件所用的時間(秒)
# %u:客戶登陸的用戶名
#設置一些全局參數
DisplayLogin welcome.msg
#顯示~/welcome.msg中的歡迎信息,可以編輯welcome.msg自己制定歡迎信息
# %T 當前的時間
# %F 所在硬盤剩下的空間
# %C 當前所在的目錄
# %R:客戶的主機名
# %U:客戶登陸的帳號
# %M:允許最大連接數
# %N:當前的連接人數
# %E:FTP服務器管理員的email
# %i:本次上傳的文件數量
# %o:本次下載的文件數量
AllowOverwrite yes #允許文件可以重新寫
IdentLookups off #查找客戶的遠程用戶名,關掉節省連接時間
ExtendedLog /var/spool/syslog/proftpd/access.log WRITE,READ write
#以write的日志格式記錄READ,WRITE的日志
ExtendedLog /var/spool/syslog/proftpd/auth.log AUTH auth
#以auth的日志格式記錄AUTH的日志
User ftp
Group ftp
UserAlias anonymous ftp #匿名用戶以ftp用戶登陸
RequireValidShell no #用戶有沒shell也可以使用FTP(安全)
MaxClients 20 #最大客戶數
MaxInstances 30 #連接的間隔時間
MaxLoginAttempts 10 #連接的最大次數
Order deny,allow
Deny from 172.16.0.0/11 #禁止172.16.0.0/11網段訪問
Allow from all
AllowAll #所有人在pub目錄有讀權限
AllowUser ftpadmin #ftpadmin用戶擁有寫權限
DenyAll #其他用戶無寫權限
RateReadBPS 1024000 #下載最高速1M/s
RateReadFreeBytes 10240000 #下載總速度不超過10M/s
AllowAll #所有人都可以在incoming目錄上傳文件,新建目錄
AllowUser ftpadmin #允許ftpadmin用戶寫
DenyAll #其他用戶無寫權限
RateWriteBPS 1024000 #上傳最高速1M/s
RateWriteFreeBytes 10240000 #上傳總速度不超過10M/s
#
# CWD:改變所在目錄
# MKD/XMKD:新建目錄
# RNFR/RNTO:重命名目錄的(一起使用)
# DELE:刪除文件
# RMD/XRMD:刪除目錄
# RETR:下載
# STOR:上傳
# LOGIN:登陸
# READ:包括了RETR,SITE,SIZE,STAT
# WRITE:包括了APPE, DELE, MKD, RMD, RNTO, STOR, XMKD, XRMD
# DIRS:包括了DUP, CWD, LIST, MDTM, NLST, PWD, RNFR, XCUP, XCWD, XPWD
# ALL:包括了READ WRITE DIRS
#以上權限結合動作一起使用:
# AllowUser:允許某個用戶
# DenyUser:禁止某個用戶
# AllowGroup:允許某個用戶組
# DenyGroup:禁止某個用戶組
# AllowAll:允許所有用戶
# DenyAll:禁止所有用戶
【編輯推薦】