複製鏈接
請複製以下鏈接發送給好友

ProFTPD

鎖定
ProFTPD:一個Unix平台上或是類Unix平台上(如Linux, FreeBSD等)的FTP服務器程序
外文名
ProFTPD
類    型
服務器程序
平    台
Unix

ProFTPD簡介

ProFTPd是一套可配置性強的開放源代碼的FTP服務器軟件,名稱最後的d字是因為在Linux中是用daemon來稱呼。ProFTPd與Apache的配置方式類似,因此十分容易配置和管理 [1-2] 
ProFTPd亦開發了有圖形用户界面的FTP服務器軟體稱為gProFTPd。 [1] 
ProFTPD:一個Unix平台上或是類Unix平台上(如Linux, FreeBSD等)的FTP服務器程序,它是在自由軟件基金會的版權聲明(GPL)下開發、發佈的免費軟件,也就是説任何人只要遵守GPL版權聲明,都可以隨意修改源始碼。
proftpd全稱:Professional FTP daemon是針對Wu-FTP的弱項而開發的,除了改進的安全性,還具備許多Wu-FTP沒有的特點,能以Stand-alone、xinetd模式運行等。ProFTP已經成為繼Wu-FTP之後最為流行的FTP服務器軟件,越來越多的站點選用它構築安全高效的FTP站點,ProFTP配置方便,並有MySQL和Quota模塊可供選擇,利用它們的完美結合可以實現非系統賬號的管理和用户磁盤的限制。

ProFTPD設計特點

ProFTPD設計目標是實現一個安全且易於設定的FTP Server。 [3] 
在項目開始時,Unix或類Unix平台上 FTP Server十分有限,最常使用的恐怕就是wu-ftpd了。雖然wu-ftpd有着極佳的效能同時也是一套很好的軟件,然而它卻欠缺了許多Win32平台上FTP Server的一些特色,同時wu-ftpd過去也有不少的安全漏洞陸續被發現。ProFTPD的原創者本身就曾經花非常多的時間尋找wu-ftpd 的漏洞加以改進並且增加許多功能。然而十分不幸的是,他很快地發現顯然wu-ftpd需要全部重新的改寫才能補足欠缺的設定能力以及缺乏的一些功能。 [3] 
除了wu-ftpd的,也有一些其他的FTP服務器可被設計成重量輕,安全而犧牲的可配置性。例如,Troll FTP是一個很好的FTP程序,比wu-ftpd更為安全而且資源佔用更少。不幸的是,它是非常適合於基本的FTP服務,但不適合需要更復雜功能的FTP站點. [3] 
ProFTPD不是由其它FTP Server的源代碼修改而產生的,相反的,它是完全獨立而完整、重新改寫的FTP Server。許多著名的,訪問量大的網站使用ProFTPD的。 [3] 

ProFTPD核心團隊

John Morrissey (主要開發者, mod_ldap 維護者)
Michael Renner
Daniel Roesen
TJ Saunders (ProFTPD的維護者) [3] 

ProFTPD團隊成員

Jesse Sipprell: ProFTPD 創始人
MacGyver: ProFTPD 維護者
Charles Seeger
Andrew Houghton: mod_sql 維護者
Mark Lowes: 相關文檔及在線幫助 [3] 

ProFTPD主要特色

一個單一的和 Apache 的 httpd.conf 類似的配置文件 [3] 
每個目錄下的 .ftpaccess 文件(和 Apache 的. htaccess 類似) [3] 
易於配置的,多個虛擬 FTP 服務器以及匿名 FTP 服務 [3] 
可以單獨運行也可以從 inetd/xinetd 啓動 [3] 
匿名 FTP 的根目錄不需要特別的目錄結構 [3] 
系統的二進制文件和其他系統文件沒有 SITE EXEC 命令 [3] 
在單獨運行方式下,以非特權用户運行,降低攻擊風險 [3] 
日誌以及 utmp/wtmp 支持 [3] 
Shadow 口令支持 [3] 
採用模塊化設計,允許服務器使用模塊而方便擴展。 [3] 
IPv6支持 [3] 

ProFTPD操作過程

1. 單配置文件,其設置指示和apache的有類似之處,非常容易配置。
2. 基於單個目錄的.ftpaccess設置文件,類似與apache的.htaccess文件。
3. 易於設置的多虛擬服務器和匿名ftp服務。
4. 可以設置為從xinetd啓動,或者是獨立ftp服務器兩種運行方式。
5. 匿名ftp的根目錄不需要任何特殊的目錄結構,或系統程序或其他系統文件。
6. ncfptd不執行任何外部程序,從而減少了安全隱患。
7. 可以根據文件屬主情況或unix風格的訪問控制來隱藏文件或目錄。
8. 以非root身份運行,從而減少了安全隱患。
9. 強大的log功能,支持utmp/wtmp及wu-ftpd格式的記錄標準,並支持擴展功能的記錄。
10. 支持Shadow密碼,包括支持密碼過期機制。
11. 遵從GPL版權,開放源代碼
12. 可設定多個虛擬FTP server,而匿名FTP服務更是十分容易。
13. 最新版本 1.3.4b released (Updated at 31/Jul/2012)。

ProFTPD安裝配置

wget /distrib/source/proftpd-1.3.1.tar.gz
tar zxvf proftpd-1.3.1.tar.gz
cd proftpd-1.3.1
./configure --prefix=/usr/local/proftpd/
make
make install
cd /usr/local/proftpd/etc/
vi proftpd.conf
輸入:
# This is a basic ProFTPD configuration file (rename it to)
# 'proftpd.conf' for actual use. It establishes a single server
# and a single anonymous login. It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.
ServerName "user FTP"
ServerType standalone
DefaultServer on
# Port 21 is the standard FTP port.
Port 221
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022
# 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 30
# Set the user and group under which the server will run.
User nobody
Group nobody
# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
# Normally, we want files to be overwriteable.
AllowOverwrite on
AllowRetrieveRestart on
AllowStoreRestart on
# Bar use of SITE CHMOD by default
DenyAll
# A basic anonymous configuration, no upload directories. If you do not
# want anonymous users, simply delete this entire section.
#
# User ftp
# Group ftp
# 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
# We want 'welcome.msg' displayed at login, and '.message' displayed
# in each newly chdired directory.
# DisplayLogin welcome.msg
# DisplayChdir .message
# Limit WRITE everywhere in the anonymous chroot
#
# DenyAll
#
#

ProFTPD後續程序

創建用户
useradd aaa
passwd aaa
vipw
修改用户webtrends的目錄和不充許登錄
webtrends:x:503:505::/abc/logs:/sbin/nologin
啓動:
/usr/local/proftpd/sbin/proftpd &
加入rc.local
/usr/local/proftpd/sbin/proftpd &
netstat -lnt
看有沒有開221端口,啓動是否成功。
在dos下:
ftp xxx.xxx.xxx.xxx
輸入用户名和密碼就可以進入ftp>了。
ftp> ls
參考資料