29.9. 檔案傳輸協定 (FTP)
前一頁 | 章 29. 網路伺服器 | 下一頁

## 29.9. 檔案傳輸協定 (FTP)

檔案傳輸協定 (File Transfer Protocol, FTP) 提供了使用一個簡單的方式能夠將檔案傳輸到與接收自 FTP 伺服器，FreeBSD 內建了 FTP 伺服器軟體 ftpd 在基礎系統 (Base system) 中。

FreeBSD 提供了多個設定檔來控制對 FTP 伺服器的存取，本節將摘要這些檔案的設定方式，請參考 ftpd(8) 來取得更多有關內建 FTP 伺服器的詳細資訊。

### 29.9.1. 設定

最重要的一個設定步驟便是決定那些帳號能夠存取 FTP 伺服器，FreeBSD 系統有數個系統帳號，這些帳號不應該能夠擁有 FTP 存取權，不允許存取 FTP 的使用者清單可在 `/etc/ftpusers` 找到，預設該檔案內會有所有的系統帳號，其他不應允許存取 FTP 的使用者也可在此加入。

在某些情況可能會布望限制某些使用者的存取，而不是完全避免這些使用者使用 FTP，這可以透過建立 `/etc/ftpchroot` 來完成，詳如 ftpchroot(5) 所述，這個檔案會列出受到 FTP 存取限制的使用者與群組。

要在伺服器上開啟匿名 FTP 存取權，可在 FreeBSD 系統上建立一個名稱為 `ftp` 使用者，使用者將能夠使用 `ftp` 或 `anonymous` 使用者名稱來登入 FTP 伺服器，當提示輸入密碼時，輸入任何值都會被接受，但是慣例上應使用電子郵件位址來當做密碼。當匿名使用者登入時 FTP 伺服器會呼叫 chroot(2) 來限制使用者只能存取 `ftp` 使用者的家目錄。

要設定顯示給 FTP 客戶端的歡迎訊息有兩個文字檔可以建立，`/etc/ftpwelcome` 的內容會在收到登入提示前顯示給使用者看，登入成功能後，則會顯示 `/etc/ftpmotd` 的內容。注意，這個檔案的路徑是相對於登入環境的，所以 `~ftp/etc/ftpmotd` 的內容只會對匿名使用者顯示。

設定完 FTP 伺服器之後，在 `/etc/rc.conf` 設定適當的變數來在開機時啟動該服務：

    ftpd_enable="YES"

要立即啟動服務可：

    # service ftpd start

要測試到 FTP 伺服器的連線可輸入：

    % ftp localhost

ftpd daemon 會使用 syslog(3) 來記錄訊息，預設，系統記錄 Daemon 會寫入有關 FTP 的訊息到 `/var/log/xferlog`，FTP 記錄的位置可以透過更改 `/etc/syslog.conf` 中下行來做修改：

    ftp.info      /var/log/xferlog

### 注意:

要注意啟動匿名 FTP 伺服器可能的潛藏問題，尤其是要讓匿名使用者上傳檔案時要再次確認，因為這可能讓該 FTP 站變成用來交換未授權商業軟體的交流平台或者更糟的狀況。若真的需要匿名 FTP 上傳，那麼請檢查權限設定，讓這些檔案在尚未被管理者審查前不能夠被其他匿名使用者讀取。

前一頁 | 上一層 | 下一頁
29.8. Apache HTTP 伺服器 | 起始頁 | 29.10. Microsoft® Windows® 用戶端檔案與列印服務 (Samba)

本文及其他文件，可由此下載： ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/。

若有 FreeBSD 方面疑問，請先閱讀 FreeBSD 相關文件，如不能解決的話，再洽詢 <questions@FreeBSD.org>。
關於本文件的問題，請洽詢 <doc@FreeBSD.org>。