FreeBSD 安裝pure-ftpd過程(1)!.......終於搞定了 Orz

終於~終於搞定了 pure-ftpd為什麼clover要用pureftpd當作這台server的ftp呢?
因為它支援上/下載節流、支援虛擬帳號、彈性佳又支援多國語言,so clover才會
選擇pureftpd當作這台server的ftp server!

首先我們進行安裝:

安裝這邊有分幾個參數已方便我們做選擇性的調整

--without-standalone: 如果不用standalone模式,standalone模式是建議的方式。

--without-inetd: 如果都是用standalone模式,可加這選項讓程式小一點。不能同時
啟用這一項與前一項,否則會無法使用。

--without-banner: 不要顯示啟始的標題,就是連線成功時就出現的訊息。

--with-sysquotas: 支援系統配額(不是PrueFTPd的虛擬配額)。有要用系統配額時才啟用這項。

--with-cookie: 當使用者登入時顯示自訂的標題訊息。

--with-throttling: 支援頻寬節流。

--with-ratios: 支援上傳/下載率。

--with-ftpwho: 支援'pure-ftpwho'命令。啟用這項會多耗些記憶體。最好在standalone
模式使用,在inet模式會較慢。

--with-welcomemsg: 像其他一樣FTP servers讀取'welcome.msg'檔案。但是
Pure-ftpd預設是使用'.banner'檔案。

--with-largefile: 支援在32-bit架構上可下載超過2GB大小的檔案。啟用這項會多用一些
CPU資源,所以沒必要別用這項。

--with-virtualhosts: 支援虛擬主機。就是可為每個IP位址設不同的匿名登入區域。
如果只有一個IP就用不著這項。

--with-virtualchroot: 通常當使用者被chrooted(用-A與-a選項),他不可能跑出
家目錄以外的地方。啟用這項,再使用symbolic links,就變成可能了。
預設沒有啟用這功能。

--with-diraliases: 支援目錄別名(給"cd"用的"捷徑")。

--with-guotas: 啟用虛擬配額。可限制使用者儲存在他的帳號中的最大檔案數。
也可以限制總共的大小容量。

--with-everything: 建立啟用大部份功能的伺服器:altlog, cookies, throttling, ratios, ftpwho, upload script, virtual users(puredb), quotas, virtual hosts, directory aliases及external authentication

--with-language: 變更伺服器訊息的語言。預設是english

--with-puredb:讓pureftpd支援虛擬帳號,若要用虛擬帳號一定要下

以下是clover自己的參數設定:
#make CONFIGURE_ARGS='--without-inetd --with-sysquotas --with-cookie
--with-throttling --with-ratios --with-welcomemsg --with-quotas --with-language
=traditional-chinese --with-puredb --with-ftpwho --with-rfc2640'

#make install clean.....................然後開始安裝了!

=======我是分隔線=========================================

安裝完後我們便在/etc/rc.conf內加入一行:
pureftpd_enable="YES"

接著再/usr/local/etc/ 下將pure-ftpd.conf.sample 複製一份成pure-ftpd.conf

接著用ee或是vi或是vim去修改pure-ftpd.conf的內容!config詳細設定請參考

# Cage in every user in his home directory
ChrootEveryone    yes
# 限定每一個使用者都只能在自己家目錄下活動。當設定成 no 時,則 Real User 可切換至其他
# 目錄做存取。

# If the previous option is set to "no", members of the following group won't be caged. Others will be.
# If you don't want chroot()ing anyone,just comment out ChrootEveryone and TrustedGID.

# TrustedGID     100
# 當您將註解拿掉後,GID 100 的群組成員會被視為信任的使用者,因此可以存取家目錄外的
# 其他目錄。此時無論 ChrootEveryone 設定為何,都是一樣的結果。

# Maximum number of simultaneous users
MaxClientsNumber   10
# 限定最大連線數為 10。

# Maximum number of sim clients with the same IP address
MaxClientsPerIP     3
# 限定同一來源端位址的最大連線數為 3。

# List dot-files even when the client doesn't send "-a".
DisplayDotFiles     yes
# 這個參數設定成 yes 的話,則 Client 可以看到檔名是以 "." 作開始的隱藏檔。

# Don't allow authenticated users - have a public anonymous FTP only.
AnonymousOnly    yes
# 是否只允許匿名登入。當您希望 Real User 也能登入時,就設定成 no。

# Disallow anonymous connections. Only allow authenticated users.
NoAnonymous     no
# 是否不允許匿名登入。當設定成 no,表示允許匿名登入,但如果您希望只有 Real User 能經
# 由認證登入時,這裡就設定成 yes 吧。


# Syslog facility (auth, authpriv, daemon, ftp, security, user, local*)
# The default facility is "ftp". "none" disables logging.

SyslogFacility     ftp
# 您可以在 /etc/syslog.conf 裡使用 ftp 這個 facility,來告知 syslogd 要將 ftp 的相關訊息紀錄到

# 哪裡,比如: ftpuser.*   /var/syslog/ftpuserlog


# Don't resolve host names in log files. Logs are less verbose, but it uses less bandwidth. Set this to "yes"
# on very busy servers or if you don't have a working DNS.

DontResolve      yes
# ftp 的紀錄檔是否不需解析主機名稱。

# Maximum idle time in minutes (default = 15 minutes)
MaxIdleTime      15
# 設定 FTP Client 端的閒置時間為 15 分鍾。

# PureDB user database (see README.Virtual-Users)
# PureDB   /etc/pureftpd.pdb
# 這是使用虛擬帳號登入時,所指定要使用的資料庫。


# If you want to enable PAM authentication, uncomment the following line.
PAMAuthentication    yes
# 是否使用 PAM 認證模組來對使用者作認證。

# If you want simple Unix (/etc/passwd) authentication, uncomment this.
# UnixAuthentication  yes
# 是否依照傳統的 /etc/passwd 來做認證。

# Are anonymous users allowed to create new directories ?
AnonymousCanCreateDirs  no
# 是否允許 anonymous 建立新目錄。如設定成 yes,則 anonymous 雖可建立目錄,但無法刪除。

# Port range for passive connections replies. - for firewalling.
# PassivePortRange 30000 50000
# 當 Client 端採用被動模式來建立資料通道時,FTP Server 預計所要使用 data channel 連接埠的範圍。
# 當您 Linux Client 端執行 ncftp 或 ftp 指令連上 FTP 站台後,可使用 passive 指令來變更連線模式。

# Upload/download ratio for anonymous users.
# AnonymousRatio   1 10
# 設定 anonymous 上傳/下載比率。
# 以 1:10 而言,如果 anonymous 上傳了 1MB 的資料後,就能夠下載 10MB 的檔案資料。


# Upload/download ratio for all users. This directive superscedes the previous one.
# UserRatio      1 10
# 設定 All User 上傳/下載比率。當 AnonymousRatio 及 UserRatio 都做設定時,是以 UserRatio 為主。

# Disallow downloading of files owned by "ftp", ie.
# files that were uploaded but not validated by a local admin.

AntiWarez       yes
# 匿名使用者要下載的檔案,如果其擁有者是 ftp 的話,則不允許下載。當您的 FTP 站台開放 anonymous 上傳時 (上
# 傳之後的檔案擁有者為 ftp),為了防止有些人會上傳一些有問題的檔案來供人下載,因此才設定這個參數 ; 而等
# 管理者確認上傳的檔案沒問題後,就可以把此檔的擁有者做個改變,這樣就能提供正常下載了。

# IP address/port to listen to (default=all IP and port 21).
# Bind       127.0.0.1,21
# 設定 FTP Server 要在哪個介面位址監聽哪個 port。預設是允許在所有介面位址監聽 21 port。

# Maximum bandwidth for anonymous users in KB/s
# AnonymousBandwidth 8
# 設定 anonymous 最大上傳、下載頻寬,單位為KB/s。

# Maximum bandwidth for *all* users (including anonymous) in KB/s.
# Use AnonymousBandwidth *or* UserBandwidth, both makes no sense.

# UserBandwidth    8
# 設定 All User 最大上傳、下載頻寬。當 AnonymousBandwidth 及 UserBandwidth 都設定時,是以 UserBandwidth 為主。

# File creation mask. : . 177:077 if you feel paranoid.
Umask        177:077
# 設定上傳檔案、目錄 (含建立新目錄) 的預設權限,177:077 表示檔案的預設權限為 600,目錄為 700。


# Minimum UID for an authenticated user to log in.
MinUID        100
# 設定能允許 Real User 認證登入的最小 UID 為 100,也就是說 UID 100 以上 (含100) 的使用者方可認證登入。
# 如您欲允許 root 登入的話,這個地方請註解起來,並且在 /etc/ftpusers 檔案中將 root 帳號移除。
# /etc/ftpusers 是用來設定拒絕登入 FTP Server 的使用者名單的。


# Users can't delete/write files beginning with a dot ('.') even if they own them. If TrustedGID is enabled,
# this group will have access to dot-files, though.

ProhibitDotFilesWrite   yes
# 是否要禁止使用者刪除或修改隱藏檔,即使使用者就是該隱藏檔的擁有者。設定 yes 就表示要禁止啦。

# Prohibit *reading* of files beginning with a dot (.history, .ssh...)
ProhibitDotFilesRead  no
# 是否要禁止使用者讀取隱藏檔內容。當以上兩個參數都設定 no 時,表示使用者對隱藏檔具有 r 及 w 的權限 (anonymous
# 為例外)。當 ProhibitDotFilesWrite 設定成 no,而 ProhibitDotFilesRead 設定成 yes 時,使用者是不能刪除檔案的。但是無論
# 如何設定,只要 TrustedGID 有設定時,則此群組的成員認證進來後是可以具有 r 及 w 的權限,並不會受到這裡的規範。


# Never overwrite files. When a file whoose name already exist is uploaded,
# it get automatically renamed to file.1, file.2, file.3, ...

AutoRename       yes
# 當上傳檔案時,若對方目錄內已經存在一個同檔名的檔案,則允許將上傳的那個檔案作自動更名的動作。

# Disallow anonymous users to upload new files (no = upload is allowed)
AnonymousCantUpload yes
# 是否要拒絕 anonymous 上傳。如要開放匿名使用者上傳檔案的話,就設定成 no。另外要允許上傳目錄時,除了這裡要
# 設定成 no 以外,AnonymousCanCreateDirs 參數需設定成 yes 才行。


# Disallow the CHMOD command. Users can't change perms of their files.
#NoChmod       yes
# 是否要拒絕使用者執行 chmod 指令來修改權限。

# Allow users to resume and upload files, but *NOT* to delete them.
#KeepAllFiles     yes
# 當設定成 yes 時,表示使用者無法刪除伺服器上的檔案

# Automatically create home directories if they are missing
#CreateHomeDir    yes
# 當使用者家目錄不存在,是否要自動建立起來。

# This option is useful with servers where anonymous upload is allowed. As /var/ftp is in /var, it save some
# space and protect the log files. When the partition is more that X percent full,new uploads are disallowed.

MaxDiskUsage     99
# 假使我們將 anonymous 的家目錄改成 /var/ftp (修改 /etc/passwd ),然後又設定允許匿名使用者上傳,那這個參數就很好用
# 了,因為當 /var partition 的使用空間達 99% 時,就不允許匿名使用者再上傳資料,不然 /var/log 目錄下的那些記錄檔可就
# 無法持續記錄一些重要資訊了。


# Set to 'yes' if you don't want your users to rename files.
NoRename        yes
# 是否要拒絕使用者修改檔案目錄的名稱 (重新命名)。




依照自己的需求跟相對位置去修改即可!..................待續

以上資訊參考小紅帽技術論壇跟柏青哥的suse 架設

留言