萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux FTP 伺服器配置手冊:ftpaccess 完整指令參考與存取控制實戰

ftpaccess 是 WU-FTPD 與部分衍生 FTP 守護進程(如 ftpd)的核心配置檔,提供精細的存取控制、資訊顯示、日誌記錄、別名映射等功能。雖然現代多改用 vsftpd/ProFTPD,但維護舊系統或特定嵌入式環境時仍需掌握。

檔案位置與生效方式

  • 路徑:/etc/ftpaccess
  • 修改後無需重啟服務,ftpd 下次連線自動重讀。

核心指令分類詳解

1. 存取控制

指令語法功能
classclass <類別> <類型列表> <地址>...定義用戶類別。類型:anonymous、guest、real。地址支援 CIDR、主機名、all。
denydeny <地址> <訊息檔>拒絕特定地址連線,顯示訊息檔內容。!nameserved 拒無反解析主機。
guestgroupguestgroup <群組>...將真實用戶視為訪客(chroot 至家目錄,禁 USER/PASS)。/etc/passwd 家目錄格式:/chroot/./home。
autogroupautogroup <群組> <類別>...匿名用戶屬於指定類別時,setegid 切換至群組,存取 group-read-only 檔案。
limitlimit <類別> <時間> <訊息檔>限制類別同時連線數。時間格式同 UUCP L.sys(如 Any、Wk0800-1800)。
loginfailsloginfails 連續 N 次登入失敗後斷線並記錄(預設 5)。
privateprivate yes|no啟用 SITE GROUP/GPASS 增強群組存取,需 /etc/ftpgroups 格式:群組:加密密碼:真實群組。

2. 資訊顯示

指令語法觸發時機
bannerbanner <路徑>用戶輸入帳號前顯示。路徑相對系統根目錄。警告:可能導致不相容客戶端連線失敗。
messagemessage <路徑> [when] [class...]登入或 CWD 切換目錄時顯示。when:LOGIN 或 CWD=目錄。
readmereadme <路徑> [when] [class...]同 message,但僅提示檔案存在與修改時間,不顯示內容。
emailemail <郵箱>設定維護者郵箱,供 %E 變數替換。

Magic Cookies 替換變數(message/readme/banner 內可用):

  • %T 本地時間、%F 可用空間、%C 當前目錄、%E 維護者郵箱
  • %R 遠端主機、%L 本地主機、%U 登入用戶名
  • %M 類別最大用戶數、%N 類別當前用戶數

3. 日誌記錄

指令語法說明
log commandslog commands <類型列表>記錄指定類別用戶執行的每條 FTP 指令。
log transferslog transfers <類型列表> <方向列表>記錄檔案傳輸。方向:inbound(上傳)、outbound(下載)。

4. 雜項功能

指令語法用途
aliasalias <字串> <目錄>目錄別名,cd 別名 即跳轉。例:alias rfc: /pub/doc/rfc
cdpathcdpath <目錄>擴展 cd 搜尋路徑,允許相對路徑跳轉深層目錄。
compresscompress yes|no [class...]控制傳輸壓縮(需客戶端支援)。
tartar yes|no [class...]允許 tar 指令打包下載。
shutdownshutdown <路徑>關機前顯示訊息檔,拒絕新連線。

實戰配置範例

# /etc/ftpaccess
# 類別定義
class internal real,guest 192.168.10.0/24
class external anonymous,guest 0.0.0.0/0

# 存取限制
deny 192.168.10.200 /etc/ftp/deny.msg
limit internal 50 Any /etc/ftp/limit.msg
limit external 10 Any /etc/ftp/limit.msg
loginfails 3

# 訊息
banner /etc/ftp/banner.msg
message /etc/ftp/welcome.msg LOGIN
message /etc/ftp/readme.msg CWD=/pub
readme /etc/ftp/README CWD=/pub

# 日誌
log commands real,guest
log transfers real,guest inbound,outbound

# 別名與路徑
alias pub: /var/ftp/pub
alias src: /usr/src
cdpath /var/ftp
cdpath /usr/src

# 訪客群組
guestgroup ftpguests

# 安全
private yes
compress yes internal
tar yes internal

遷移建議

新部署請優先選用 vsftpd(安全預設、配置簡單、效能佳)或 ProFTPD(模組化、類 Apache 配置風格)。ftpaccess 僅用於維護既有 WU-FTPD 環境。

copyright © 萬盛學電腦網 all rights reserved