table of contents
other languages
ftpaccess(5) | File Formats Manual | ftpaccess(5) |
NAME¶
ftpaccess - ftpd的配置檔描述 DESCRIPTION¶
這個ftpaccess檔案是用來配置下述功能的運作- autogroup<群組名稱><類別>[<類別>...]
- 如果一個匿名的(ANONYMOUS)使用者是任何<類別>的成員,那麼ftp伺服器將會實行一次setegid()到該<群組名稱>。這允許特殊類別的匿名使用者存取group-and-owner-read-only的檔案以及目錄。<群組名稱>是/etc/group裏的一個有效群組(或是你的getgrent()呼叫所查閱的地方)。
- class<類別><類型列表><全球位址>[<全球位址>...]
- 定義使用者的<類別>,使用<全球位址>格式的來源位址。可以定義<類別>多個成員。可以有多個"class"指令列出該類別額外的成員。如果多個"calss"指令可以應用到該次的連線期間,會使用在access檔案中第一個列出的。嘗試為一台主機定義一個有效的類別失敗的話將會引起存取被拒絕。<類型列表>是一個以任何"anonymous","guest"及"real"關鍵字所組成使用逗點隔開的列表。如果包含"real"關鍵字,該類別可以符合使用FTP存取真實的帳號的使用者,而如果包含"anonymous"關鍵字該類別可以符合使用匿名FTP的使用者。而"guest"關鍵字符合訪客存取帳號(參閱"guestgroup"以取得更多資訊)
<全球位址>可以是一個全球的領域名稱或是一個全球的數字 位址。
- deny<全球位址><訊息檔案>
- 永遠拒絕符合<全球位址>主機的存取。顯示<訊息檔案>。<全球位址>可以是"!nameserved"用來拒絕沒有名稱伺服器服務中的節點的存取。
- guestgroup<群組名稱>[<群組名稱>...]
- 如果一個真實的(REAL)使用者是任何<群組名稱>的成員,該次連線期間的設立完全如同匿名的FTP一般。換句話說,會執行一次chroot(),而且該使用者不再被允許發出USER及PASS指令。<群組名稱>是/etc/group裏的一個有效群組(或是你的getgrent()呼叫所查閱的地方)。
guest1::100:92:Guest Account:/ftp/./incoming:/etc/ftponly
-
limit<類別><時間><訊息檔案> - 在某<時間>將某<類別>限制為個使用者,若使用者的存取被拒絕則顯示<訊息檔案>內容。限制的檢查只在簽入時期實行。如果多個"limit"指令可以應用到該次連線期間的話,會使用第一個適合的。嘗試定義一個有效的限制失敗,或是值為-1的限制,等於不設限。<時間>使用UUCPL.sys檔案相同的格式。
- loginfails<數字>
- 在<數字>簽入失敗後,記錄一個重復簽入失敗(repeated
loginfailures)訊息並且終止該FTP連線。預設值是5。
- private
- 使用者簽入之後,SITEGROUP及SITEGPASS指令可以用來指定一增強存取的群組以及與之有關的密碼。如果該群組名稱以及密碼是有效的,該使用者變成(經由setegid())一個在群組存取檔案/etc/ftpgroups中所指定群組的成員。
- banner<路徑>
- 作用與message指令類似,除了此banner是在使用者鍵入使用者名稱/密碼之前顯示以外。該<路徑>系相對於真實的系統根目錄,不是匿名FTP所使用的根目錄。
- email<名稱>
- 定義ftp檔案處(archive)維護者的電子郵遞位址。這個字串將會在每一次使用%E代換變數(magiccookie)的時候印出。
- message<路徑>{<時機>{<類別>...}}
- 定義一個配合<路徑>的檔案名稱在使用者簽入時或是在使用切換工作目錄指令的時候ftpd將會顯示該檔案的內容。該項<時機>參數可以是"LOGIN"或"CWD=<目錄>"。如果<時機>是"CWD=<目錄>"的話,<目錄>指定將會引發該通知的新預設目錄。
- %T
- 本地時間(form ThuNov1517:12:42 1990)
- %F
- CWD所在分割區的剩餘空間(kbytes)[並非所有系統都有支援]
- %C
- 目前的工作目錄
- %E
- 定義在ftpaccess中維護者的電子郵遞位址
- %R
- 遠端主機名稱
- %L
- 本地主機名稱
- %U
- 簽入時所給的使用者名稱
- %M
- 這個類別所允許的最大使用者數目
- %N
- 這個類別目前的使用者數目
- readme<路徑>{<時機>{<類別>}}
- 定義一個配合<路徑>的檔案名稱在使用者簽入時或是在使用切換工作目錄指令的時候ftpd將會告知使用者該檔案存在及修改的日期。<時機>參數可以是"LOGIN"或"CWD=<目錄>"。若<時機>是"CWD=<目錄>"的話,<目錄>指定將會引發該通知的新預設目錄。此項訊息將只顯示一次以避免打擾使用者。要記得當README訊息被一匿名的FTP使用者引發時,該<路徑>必須是相對於匿名FTP目錄樹的根目錄。
- logcommands<類型列表>
- 以使用者啟動個別的記錄指令。<類型列表>是一個以任何的"anonymous","guest"及"real"關鍵字所組成使用逗點隔開的列表。如果包含"real"關鍵字,將會為使用FTP存取真實帳號的使用者做記錄,而如果包含"anonymous"關鍵字則將會為使用匿名FTP的使用者做記錄。"guest"關鍵字符合訪客存取帳號(參閱"guestgroup"以取得更多資訊)
- logtransfers<類型列表><目錄>
- 啟動對真實的或匿名的FTP使用者的檔案傳輸記錄。對傳輸到伺服器(進來)的記錄可以跟從伺服器傳輸(出去)分開來啟動。<類型列表>是一個以任何的"anonymous","guest"及"real"關鍵字所組成使用逗點隔開的列表。如果其中包含有"real"關鍵字,將會為使用FTP存取真實帳號的使用者做記錄,而如果包含"anonymous"關鍵字則將會為使用匿名FTP的使用者做記錄。而"guest"關鍵字符合訪客存取帳號(參閱"guestgroup"以取得更多資訊)。<目錄>是一個以任何的"inbound"以及"outbound"兩個關鍵字所組成以逗點隔開的列表,而且將會分別引發對送往該伺服器以及從該伺服器送出的傳輸記錄。
- alias<字串><目錄>
- 為一個目錄定義一個別名,<字串>。可以用來加入邏輯目錄的其它概念。
- cdpath<目錄>
- 定義cdpath裏的一個項目。這定義一個在改變目錄時使用的搜尋路徑。
cdpath/pub/packages cdpath/.aliases
cdfoo
-
compress[...]
- tar[...]
為任何符合任何的類別啟動壓縮(compress)或包裹(tar)功能。實際的轉換(conversions)定義在外部的檔案FTPLIB/ftpconversions之中。
- shutdown<路徑>
- 如果<路徑>所指的檔案存在,伺服器將會規律地檢查該檔案以便得知該伺服器是否將要被停機。如果計畫一次停機,則會通告使用者,新的連線在停機之前的一段指定的時間之後會被拒絕且目前的連線在停機之前的一段指定的時間之後會被停止。<路徑>指到一個結構如下的檔案:
<年><月><日><時><分><拒絕_期間><拋棄_期間><本文>
- <年>
- 任何>1970的年份
- <月>
- 0-11<----注意!
- <時>
- 0-23
- <分>
- 0-59
- %s
- 系統將要停機的時間
- %r
- 新的連線將會被拒絕的時間
- %d
- 目前的連線將會被拋棄的時間
-
chmod<類型列表>
- delete<類型列表>
overwrite<類型列表>
umask<類型列表>
允許或不允許執行指定功能的能力。依照預設值,允許所有的使用者執行。
- passwd-check()
- 定義該伺服器對匿名ftp密碼檢查的層級與執行。
- none
- 不執行密碼檢查。
- trivial
- 密碼中必須包含一個'@'字元。
- rfc822
- 密碼必須是一個rfc822相容的位址。
- warn
- 警告該使用者,但是允許他們簽入。
- enforce
- 警告該使用者,並且接著將之踢出。
- path-filter<類型列表><訊息><允許的字元集>{<不允許的正規表示式>...}
- 對於屬於<類型列表>的使用者,path-filter定義控制何種檔案名稱允許或不允許的正規表示式(regularexpressions)。可以有多個不允許的正規表示式。如果一個檔案名稱因為不符合正規表示式的標準而無效的話,將會顯示<訊息>給該使用者。例如:
path-filteranonymous/etc/pathmsg^[-A-Za-z0-9._]*$^.^-
- upload<擁有者><群組>["dirs"|"nodirs"]
- 配合定義一個認可或拒絕上傳的目錄。
upload*no upload/incomingyesftpdaemon0666 upload/incoming/gifsyesjlcguest0600 nodirs