ProFTPD:一個Unix平台上或是類Unix平台上(如Linux, FreeBSD等)的FTP伺服器程式。
基本介紹
- 外文名:ProFTPD
- 類型:伺服器程式
- 平台:Unix
- 國家:中國
簡介,特點,核心團隊,團隊成員,主要特色,操作過程,安裝配置,後續程式,
簡介
ProFTPd是一套可配置性強的開放原始碼的FTP伺服器軟體,名稱最後的d字是因為在Linux中是用daemon來稱呼。ProFTPd與Apache的配置方式類似,因此十分容易配置和管理。
ProFTPd亦開發了有圖形用戶界面的FTP伺服器軟體稱為gProFTPd。
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設計目標是實現一個安全且易於設定的FTP Server。
在項目開始時,Unix或類Unix平台上 FTP Server十分有限,最常使用的恐怕就是wu-ftpd了。雖然wu-ftpd有著極佳的效能同時也是一套很好的軟體,然而它卻欠缺了許多Win32平台上FTP Server的一些特色,同時wu-ftpd過去也有不少的安全漏洞陸續被發現。ProFTPD的原創者本身就曾經花非常多的時間尋找wu-ftpd 的漏洞加以改進並且增加許多功能。然而十分不幸的是,他很快地發現顯然wu-ftpd需要全部重新的改寫才能補足欠缺的設定能力以及缺乏的一些功能。
除了wu-ftpd的,也有一些其他的FTP伺服器可被設計成重量輕,安全而犧牲的可配置性。例如,Troll FTP是一個很好的FTP程式,比wu-ftpd更為安全而且資源占用更少。不幸的是,它是非常適合於基本的FTP服務,但不適合需要更複雜功能的FTP站點.
ProFTPD不是由其它FTP Server的原始碼修改而產生的,相反的,它是完全獨立而完整、重新改寫的FTP Server。許多著名的,訪問量大的網站使用ProFTPD的。
核心團隊
John Morrissey (主要開發者, mod_ldap 維護者)
Michael Renner
Daniel Roesen
TJ Saunders (ProFTPD的維護者)
團隊成員
Jesse Sipprell: ProFTPD 創始人
MacGyver: ProFTPD 維護者
Charles Seeger
Andrew Houghton: mod_sql 維護者
Mark Lowes: 相關文檔及線上幫助
主要特色
一個單一的和 Apache 的 httpd.conf 類似的配置檔案
每個目錄下的 .ftpaccess 檔案(和 Apache 的. htaccess 類似)
易於配置的,多個虛擬 FTP 伺服器以及匿名 FTP 服務
可以單獨運行也可以從 inetd/xinetd 啟動
匿名 FTP 的根目錄不需要特別的目錄結構
系統的二進制檔案和其他系統檔案沒有 SITE EXEC 命令
在單獨運行方式下,以非特權用戶運行,降低攻擊風險
日誌以及 utmp/wtmp 支持
Shadow 口令支持
採用模組化設計,允許伺服器使用模組而方便擴展。
IPv6支持
操作過程
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)。
安裝配置
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
#
#
後續程式
創建用戶
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