1. apt-get install proftpd
2. vi /etc/proftpd.conf
ServerName "ProFTPD server" # 顯示在Client端的ftp軟體的基本訊息
ServerIdent on "FTP Server ready."
ServerAdmin root@localhost
ServerType standalone # server獨立啟動DefaultServer on # 當設定到兩個ip或虛擬主機時,才設成off
AccessGrantMsg "User %u logged in."MaxInstances 30 # 同一時間允許連線數目
RequireValidShell off # 當使用者在/etc/passwd中的狀態為/bin/false時,
# 這個設定可讓其使用ftp。
DefaultRoot ~ !adm # ~ 為家目錄的符號
# ! 為非的符號
# adm為群組
# 如果為 ~ adm,即代表adm群組的使用者 不可以離開自已的家目錄。
# 如果為 ~ !adm,代表非adm群組(adm以外)的使用者不可離開自已的家目錄。# 以下為匿名者的設定
<Anonymous ~ftp>
User ftp
Group ftp
UserAlias anonymous ftp # UserAlias "登入者的帳號" "實際 Linux 主機的帳號"DisplayLogin welcome.msg # 當使用者登入之後的歡迎畫面的檔案內容
DisplayFirstChdir .message # 轉換到某目錄時(cd指令),顯示該目錄的注意事項檔案內容
MaxClients 20 "人數已滿" # 最多僅允許 幾 個 anonymous 登入主機!
# 限速設定,單位為 KBytes/second
TransferRate STOR 100 user anonymous,ftp # 限上傳
TransferRate RETR 50 user anonymous,ftp # 限下載
# 使用者
<Limit WRITE>
Denyall
</Limit>
# 設定 upload目錄中,可上傳、寫入,不能瀏覽,不能下載
# 其它目錄不可寫入
<Directory /var/ftp/upload/*>
<Limit READ>
Denyall
</Limit>
<Limit WRITE>
Allowall
</Limit>
</Directory></Anonymous>
# 設定上傳/下載比例
# Ratios on
# SaveRatios on
# RatioFile ratio.dat
# ratio.dat 內容,以 | 隔開
# 帳號 | 上傳檔案數 | 上傳檔案總量(KBytes) | 下載檔案數 | 下載檔案總量(KBytes)
# RatioTempFile ratio.tmp
# UserRatio "使用者帳號" fileratio filequota byteratio bytequota
# UserRatio ftpuser1 0 0 2 100000
#以檔案 # 預設下載 # 設定比列 # 預設能夠下載多少 kb
# 為基準 # 多少檔案 # 上傳 / 下載
# 1 : 2
# 如果設成 -2
# 為 2 : 1
# 下載速度的限制
# TransferRate RETR 50 group 群組名稱
3. 建立歡迎畫面,vi welcome.msg
歡迎光臨!這個是 FTP 站台!
我的主機: %L
目前時間: %T
最大連線: %M
目前連線: %N
您的主機: %R
您的帳號: %U
目前目錄: %C
4. 在/var/ftp/upload目錄中建立一特殊訊息
vi /var/ftp/upload/.message
這個目錄僅能上傳不能下載;
您的身份為 anonymous
5. /etc/init.d/proftpd start
註:
Limit 的動作
CWD :Change Working Directory,變換目錄之意;
MKD :MaKe Directory,可建立目錄與否;
RNFR :ReName FRom,可更改檔名與否;
DELE :DELEt,可刪除檔案語法;
RMD :ReMove Directory,可移除目錄與否;
RETR :RETRieve,下載之意!由 Server 傳送資料到 Client;
READ :可讀取與否
WRITE :可寫入與否
STOR :STORe,上傳之意,由 Client 傳送資料到 Server !
ALL :全部的動作!
變數
%T 目前的時間
%F 所在硬碟剩下的容量
%C 目前所在的目錄
%R Client 端的主機名稱
%L Server 端的主機名稱
%U 使用者帳號名稱
%M 最大允許連線人數
%N 目前的主機連線人數
%E FTP 主機管理員的 email
%i 本次上傳的檔案數目
%o 本次下載的檔案數量
%t 本次上傳+下載的檔案數量
proftpd + openldap
1.
wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.2.10.tar.bz2
tar zxvf proftpd-1.2.10.tar.bz2
cd proftpd-1.2.10.tar.bz2
./configure –prefix=/usr/local/proftpd –with-modules=mod_ldap
make
make install
2.
/usr/local/sbin/proftpd -l
Compiled-in modules:
mod_core.c
mod_xfer.c
mod_auth_unix.c
mod_auth_file.c
mod_auth.c
mod_ls.c
mod_log.c
mod_site.c
mod_ldap.c
mod_cap.c
3. vi /usr/local/proftpd/etc/proftpd.conf
LDAPServer localhost
LDAPDNInfo cn=Manager,dc=cross,dc=com secret
LDAPDoAuth on ou=People,dc=cross,dc=com
LDAPHomedirOnDemandSuffix ""
4. /usr/local/sbin/proftpd -c /usr/local/proftpd/etc/proftpd.conf
註:
# Allow to resume not only the downloads but the uploads too
AllowRetrieveRestart on
AllowStoreRestart on# Using LDAP Authentication
LDAPServer localhost
LDAPDNInfo cn=Manager,dc=smoc,dc=com,dc=tw secret
LDAPDoAuth on ou=People,dc=smoc,dc=com,dc=tw
LDAPHomedirOnDemandSuffix ""LogFormat default "%h %l %u %t "%r" %s %b"
LogFormat auth "%v [%P] %h %t "%r" %s"ExtendedLog /var/log/proftpd/proftpd.log AUTH,DIRS,READ,WRITE
SystemLog /var/log/proftpd/proftpd.log
# This is where we want to put the pid file
ScoreboardFile /var/run/proftpd.score
SSL/TLS
rpm 安裝
# TLS
TLSEngine on
TLSRequired on
TLSRSACertificateFile /etc/CA/proftpd.crt
TLSRSACertificateKeyFile /etc/CA/proftpd.key
TLSCipherSuite ALL:!ADH:!DES
TLSOptions NoCertRequest
TLSVerifyClient off
TLSRenegotiate ctrl 3600 data 512000 required off timeout 300
TLSLog /var/log/proftpd/tls.log
client程式需選擇ssl/tls連線
留言