Vsftpd.conf 可以用來控制vsftpd的多種行為,預設情況下,vsftpd在/etc/vsftpd.conf路徑下查找這個檔案。然而,你可以通過自定義 vsftpd的指令行參數來改變它。指令行的參數是vsftpd的配置檔案的路徑名。這種做法是很有用的,因為你也許想要使用一個進階的網絡守護程序,例如 xinetd ,在每一個虛拟主機上使用不同的配置檔案來啟動vsftpd服務。
格式 vsftpd.conf的格式非常簡單。每一行不是一個注釋就是一個指令。注釋行以#号開頭并且是被忽略的。一個指令行有以下格式: option=value (選項=值) 要知道,在option、=、value之間不允許有空白符(空格等),這一點很重要。 每一個選項在編譯時都有一個預設的設定,可以在配置檔案中修改它。 布爾值選項 下面是一個布爾選項清單,每一個布爾選項的值可以設定為 YES 或者 NO。 * allow_anon_ssl 隻有當ssl_enable被激活才适用。如果設定為 YES,匿名使用者允許使用安全的 SSL(安全套接字協定層)連接配接。 預設:NO * anon_mkdir_write_enable 如果設定為 YES,匿名使用者在這種情況下将被允許建立新目錄。為了使這個能起作用,選項 write_enable 必須被激活,而且匿名的ftp使用者在父目錄中有寫權限。 預設:NO * anon_other_write_enable 如果設定為 YES ,匿名使用者在進行寫操作時除了可以上傳(檔案)和建立目錄外,還可以删除和重命名(檔案或目錄)。這個通常不推薦使用,但為了完整性确實包含了此選項。 預設:NO * anon_upload_enable 如果設定為 YES ,匿名使用者在這種情況下将被允許上傳檔案。為了使這個能起作用,選項 write_enable 必須被激活,而且匿名ftp使用者在想要上傳的路徑下有寫權限。這項設定也是虛拟使用者獲得上傳權限所必需的;預設情況下,虛拟使用者等同對待于匿名使用者(i.e最大限度限制)的權限。 預設:NO * anon_world_readable_only 如果啟用(該選項),匿名使用者将隻被允許下載下傳具有全局可讀的檔案。它能識别ftp使用者是否檔案的屬主,尤其是在檔案上傳的情形。 預設:YES * anonymous_enable 控制是否允許匿名使用者登入。如果允許,使用者名ftp和anonymous被識别為匿名使用者登入。 預設:YES * ascii_download_enable 如果啟用,下載下傳時将以ASCII模式進行資料傳輸。 預設:NO * ascii_upload_enable 如果啟用,上傳時将以ASCII模式進行資料傳輸。 預設:NO * async_abor_enable 如果啟用,一個特殊的FTP指令“async ABOR”将被啟用。隻有那些比較差勁的FTP終端才會使用這項功能。另外,這項功能的實作有點棘手,是以預設是不啟用的。不幸的是,一些FTP終端在取消(資料)傳輸時會被挂起,除非啟用了該項功能,是以,你也許想要啟用它。 預設:NO * background 如果啟用,vsftpd則以“監聽”模式啟動,vsftpd将在背景監聽程序。i.e.控制将直接傳回啟動vsftpd的shell。 預設:NO * check_shell 注意!該選項隻對沒有編譯PAM子產品的vsftpd有效。如果禁用(該選項),vsftpd将不會為本地的有效使用者登入時檢查/etc/shells。 預設:YES * chmod_enable 如果啟用,則允許使用SITE CHMOD指令。注意,這隻适用于本地使用者,匿名使用者永遠不會擁有SITE CHMOD的使用權的。 預設:YES * chown_enable 如果啟用,所有的匿名使用者上傳檔案的所有者将改變為定義在chown_username設定中的使用者。從管理或者安全的角度來看,這是十分有用的。 預設:NO * chroot_list_enable 如果激活(該選項),你應該提供一個在登入時被chroot()限定在其主目錄下的本地使用者清單。如果chroot_local_user選項設定為YES,則(該選項)意思稍微不同,在這種情況下,這個清單則變成了不受chroot()限制的使用者清單。預設情況下,包含這個使用者清單的檔案是 /etc/vsftpd.chroot_list,但是你可以通過chroot_list_file選項來更改它。(ps:這裡不好翻譯,下面是英文原文:If activated, you may provide a list of local users who are placed in a chroot() jail(監牢、監獄) in their home directory upon login.The meaning is slightly different if chroot_local_user is set to YES. In this case, the list becomes a list of users which are NOT to be placed in a chroot() jail. By default, the file containing this list is /etc/vsftpd.chroot_list, but you may override this with the chroot_list_file setting.) 預設:NO * chroot_local_user 如果設定為YES,本地使用者将被chroot()限定在其主目錄下(預設)。警告:這個選項牽連到安全性,尤其在使用者擁有上傳權限或者使用 shell權限的情況下。隻有在你知道自己在做什麼時才啟用它。要知道這些安全相關性不是vsftpd所特有的,它們适用于所有提供chroot()限定本地使用者機制的FTP守護程序。(英文原文:If set to YES, local users will be (by default) placed in a chroot() jail in their home directory after login. Warning:This option has security implications, especially if the users have upload permission, or shell access. Only enable if you know what you are doing. Note that these security implications are not vsftpd specific. They apply to all FTP daemons which offer to put local users in chroot() jails.) 預設:NO * connect_from_port_20 該選項控制端口類型資料連接配接是否使用伺服器上的20号端口(ftp-data)。為安全起見,一些用戶端主張使用這種情況。相反地,禁用該選項使得vsftpd服務以更少的特權運作。 預設:NO(但是示例配置檔案中啟用它) * debug_ssl 如果為真,openSSL連接配接的診斷資訊轉儲到vsftpd的日志檔案。(版本2.0.6中才添加的功能) 預設:NO * deny_email_enable 如果激活(該選項),你應該提供一個匿名密碼電子郵件清單來應答禁止登入。預設情況下,包含這個清單的檔案是/etc/vsftpd.banned_emails,但是你可以通過banned_email_file設定更改它。 預設:NO * dirlist_enable 如果設定為NO,将禁用所有的顯示目錄内容的指令。 預設:YES * dir_message_enable 如果啟用,使用者進入到一個新的目錄時,FTP伺服器将顯示一段消息。預設情況下,(伺服器)會搜尋目錄中的.message檔案,但是你可以通過配置選項message_file來更改它。 預設:NO(但是示例配置檔案中啟用它) * download_enable 如果設定為NO,所有的下載下傳請求将會被拒絕。 預設:YES * dual_log_enable 如果啟用,将會并行生成兩個日志檔案,預設情況下日志将儲存到/var/log/xferlog和/var/log/vsftpd.log。前者是wu-ftpd風格的傳送日志,能夠被标準的工具分析。後者是vsftpd風格日志。 預設:NO * force_dot_files 如果激活,以 . 開頭的檔案和目錄在列舉目錄内容時将會被顯示,即使用戶端程式沒有使用“a”标志。這個将使得排除“.”和“..”的記錄無效。 預設:NO * force_anon_data_ssl 隻适用于ssl_enable開啟的情況。如果激活(該選項),在資料連接配接(非控制連接配接)時所有的匿名登入使用者将被強制使用安全SSL連接配接以發送和接收資料。 預設:NO * force_anon_logins_ssl 隻适用于ssl_enable的情況。如果激活,所有的匿名登入将被強制使用安全SSL連接配接來發送密碼。 預設:NO * force_local_data_ssl 隻适用于ssl_enable開啟的情況。如果激活,在資料連接配接時所有的非匿名登入将被強制使用安全SSL連接配接來發送和接收資料。 預設:YES * force_local_logins_ssl 隻适用于ssl_enable的情況。如果激活,所有非匿名登入将被強制使用安全SSL連接配接來發送密碼。 預設:YES * guest_enable 如果啟用,所有的非匿名登入将歸類為“guest”登入。一個guest登入被重新映射為guest_username設定所指定的使用者。 預設:NO * hide_ids 如果啟用,則所有的使用者和使用者組資訊在列舉目錄檔案内容時将顯示為“ftp” 預設:NO * listen 如果啟用,vsftpd将以獨立模式運作。這意味着vsftpd不能在某些網絡守護程序(譬如xinetd)下運作,作為替代,可執行的vsftpd隻運作一次,然後監聽和處理到達的連接配接。 預設:NO * listen_ipv6 就像監聽參數一樣,除了vsftpd監聽在IPv6套接字上替代IPv4外,這個參數和監聽參數是互相排斥的。 預設:NO * local_enable 控制是否允許本地登入。如果啟用,/etc/passwd(或者與PAM相關)中的普通使用者将用來登入,這必須啟用所有的非匿名登入,包括虛拟使用者。 預設:NO * lock_upload_file 如果啟用,所有的上傳程序在上傳檔案上附加一個寫鎖。所有的下載下傳程序在下載下傳檔案中附加一個共享讀瑣。警告!在啟用這個之前,要意識到不懷好意的讀程序會餓死一個因為沒有資格追加一個檔案的寫程序。 預設:YES * log_ftp_protocol 如果啟用,所有的FTP請求和應答都被記錄。提供的xferlog_std_format選項将不能使用。(該選項)對調試有用。 預設:NO * ls_recurse_enable 如果啟用,該設定将允許使用“ls -R”,這是一個次要的安全風險,因為在一個大型站點的頂級目錄使用ls -R将消耗大量的系統資源。 預設:NO * mdtm_write 如果啟用,該設定将允許 MDTM 設定檔案的更改時間(通常通路檢測的主體) 預設:YES * no_anon_password 如果啟用,它将禁止vsftpd詢問匿名使用者的密碼。——匿名使用者将可以直接登入。 預設:NO * no_log_lock 如果啟用,它将禁止vsftpd在寫日志檔案時附加檔案鎖。該選項通常不啟用。這在一些作業系統上存在bugs,例如在Solaris/Veritas混合檔案系統中,鎖日志檔案時中已經注意到了一些懸而未決的問題。 預設:NO * one_proccess_model 如果使用Linux 2.4 的核心,每一個連接配接使用單一程序則可以使用一個不同的安全模式。它不是一個純粹安全的模式,不過它可以提高性能。一般你不會真正想啟用它,除非你知道自己在做什麼,而且你的站點支援同時連接配接巨大數量的使用者。 預設:NO * passwd_chroot_enable 這裡不好翻譯,直接帖原文吧。原文:If enabled, along with chroot_local_user , then a chroot() jail(監牢、監獄) location may be specified on a per-user basis. Each user’s jail is derived(起源于、取得) from their home directory string in /etc/passwd. The occurrence(事件、出現) of /./ in the home directory string denotes(訓示、表示) that the jail is at that particular location in the path. 預設:NO * pasv_addr_resolve 如果你想在pasv_address選項上使用hostname(于IP位址相對),那麼把它設定為YES 預設:NO * pasv_enable 如果你想禁止以被動模式擷取資料連接配接,那麼把它設定為NO (所謂的PASV(Passive mode transfer,被動傳輸模式),是指先利用連接配接端口21建立FTP的控制信道,再由用戶端提出資料傳輸的請求,其中包含資料傳輸時使用的連接配接端口号。這是與傳統的FTP(PORT FTP)最大的不同,因為傳統的FTP是由伺服器來定義資料傳輸時使用的連接配接端口号。如果啟用該選項,則會啟用PASV的功能) 預設:YES * pasv_promiscuous 設定為YES,如果你想禁用PASV(被動傳輸模式)安全檢查。此項檢查可用來确定資料連接配接是否由控制連接配接的相同IP位址發出的。隻在你清楚自己在做什麼時才啟用它!唯一合理的用途是在一些安全隧道模式的情形,或者是為了支此傳真裝置。 預設:NO * port_enable 設定為NO,如果你想禁止使用PORT(端口)的方法來建立資料連接配接。 預設:YES * port_promiscuous 設定為YES,如果你想禁用PORT(端口)安全檢查。此項檢查可用來确定傳送的資料僅能連接配接到用戶端,隻在你清楚自己在做什麼時才啟用它! 預設:NO * require_cert 如果設定為YES,所有的SSL(Security Socket Layer 安全套接字協定層)用戶端連接配接都需要提供一個用戶端簽證。根據該簽證被準許的程度由validate_cert控制。 預設:NO * run_as_launching_user 設定為YES,如果你想以啟動vsftpd的使用者身份來運作vsftpd。這在root不能使用的地方十分有用。MAS-SIVE WARNING! Do NOT enable this option unless you totally know what you are doing, as naive use of this option can create mas-sive security problems.特别的,vsftpd不是/,當啟用該選項時,将不能使用chroot技術來限制檔案的讀取權限,即使是以root身份啟動 vsftpd。(原文:Specifically, vsftpd does not / cannot use chroot technology to restrict file access when this option is set (even if launched by root).)一個不是很好的替代是使用一個deny_file檔案,并設定為{/*,*..*},但這個的可靠性比不上chroot,是以不應該依賴這個。如果啟用該選項,許多限制也将會應用在其他選項上。例如,一些需要一定特權的選項比方說非匿名登入、檔案上傳、檔案所有權的更改、從20号端口連接配接以及監聽端口小于1024等将不能像預期一樣的工作(are not expected to work)。其他選項也将會受到影響。 預設:NO * secure_email_list_enable 設定為YES,如果你隻希望特定的e-mail passwords(以e-mail作為密碼)清單的匿名登入才被接受。這在作為一種比較不很麻煩的不需要使用虛拟使用者來限制通路低安全性的内容十分有用。如果啟用,匿名登入将被阻止,除非提供的密碼列舉在由email_password_file設定指定的檔案中。該檔案的格式是每一個密碼一行,沒有額外的空白符。預設的檔案名/etc/vsftpd.email_passwords。 預設:NO * session_support 該選項控制vsftpd是否保持登入會話。如果vsftpd保持會話,它将嘗試更新utmp和wtmp,如果使用PAM驗證子產品,也将開啟一個 pam_session,而且僅當登出時才關閉。你也許希望禁用該選項,如果你不需要會話記錄,或者你希望vsftpd以更少的線程來運作以及/或者更少的權限。注意——utmp和wtmp僅當啟用內建的PAM子產品時才被支援。 預設:NO * setproctitle_enable 如果啟用該選項,vsftpd将嘗試在系統的程序清單中顯示會話的狀态資訊。換言之,程序的彙報名稱将反映vsftpd會話的狀态(空閑、正在下載下傳等)。出于安全的目的,你也許希望保持關閉該選項。 預設:NO * ssl_enable 如果啟用該選項,vsftpd将編譯帶有OpenSSL的依賴,vsftpd将通過SSL支援安全連接配接。這适用于控制連接配接(包括登入)和資料連接配接。你還将需要用戶端支援SSL。注意!僅當你有這個需要才啟用它。vsftpd并不能保證OpenSSL庫的安全性。如果啟用該選項,意味者你相信你所安裝的OpenSSL庫的安全性。 預設:NO * ssl_sslv2 僅适用于ssl_enable開啟的情況,如果啟用,該選項将允許SSL(Secure Sockets Layer) v2(版本2)協定的連接配接。TLS(Transport Layer Security) v1連接配接首選。 預設:NO * ssl_sslv3 僅适用于ssl_enable開啟的情況,如果啟用,該選項将允許SSL v3協定的連接配接。TLS v1連接配接首選。 預設:NO * ssl_tlsv1 僅适用于ssl_enable開啟的情況,如果啟用,該選項将允許TLS v1協定的連接配接。TLS v1連接配接首選。 預設:YES * syslog_enable 如果啟用,則所有原本輸出到/var/log/vsftpd.log日志輸出将轉移到系統日志,日志的記錄由FTPD裝置完成。 預設:NO * tcp_wrappers 如果啟用,而且vsftpd編譯了tcp_wrappers支援子產品,接入的連接配接将被送往tcp_wrappers通路控制。而且,還有一個基于每一個IP的配置機制。如果tcp_wrappers設定了VSFTPD,接入的連接配接将被送往tcp_wrappers通路控制。而且,還有一個基于每一個 IP的配置機制(可以利用/etc/hosts.allow與/etc/hosts.deny檔案來定義可連接配接或拒絕的來源位址——這就是 tcp_wrappers?)。如果tcp_wrappers設定了VSFTPD_LOAD_CONF環境變量,那麼vsftpd會話将嘗試加載由這個變量指定的vsftpd的配置檔案。 預設:NO * text_userdb_names 預設情況,在列出(使用ls -al之類的指令)目錄中的檔案時,使用者群組域顯示數字形式的ID。如果啟用該參數,你将獲得文本形式的名字(ID)。處于性能的考慮,預設情況下是關閉的。 預設:NO * tilde_user_enable (tilde意思為:波浪字元)如果啟用該選項,vsftpd将嘗試解析諸如~chris/pics的路徑名。i.e.跟随在波浪字元之後的使用者名。Note that vsftpd将會一直解析~和~/something的路徑名(這種情況,~被解析為初始登入的目錄)。Note that ~user路徑僅僅在/etc/passwd檔案在_current_chroot() jail(監獄、牢獄)限定的範圍内能找到的情況下才被解析。 預設:NO * use_localtime 如果啟用,vsftpd将在(使用ls -al之類的指令)列舉目錄中檔案時附帶顯示你目前時區時間。預設情況顯示GMT(格林威治時間)。由MDTM FTP指令傳回的時間也受該選項的影響。 預設:NO * use_sendfile 一個用來測試在你的平台上使用sendfile()系統調用的相關效能的内部設定。 預設:YES * userlist_deny 該選項用來檢查userlist_enable是否啟用。如果你(把該設定)設定為NO,,那麼使用者将被拒絕登入,除非ta們被明确的記錄在由userlist_file指定的檔案中。當登入被拒絕時,拒絕(登入)發生在詢問使用者密碼之前。 預設:YES * userlist_enable 如果啟用,vsftpd将從userlist_file提供的檔案中加載一個使用者名清單,如果一個使用者登入時使用的使用者名列舉在該檔案中,那麼ta 們将在被詢問密碼之前就被拒絕(登入)了。這或許在阻止明文密碼被傳輸時有用。又見于userlist_deny(See also userlist_deny)。 預設:NO * validate_cert 如果設定為yes,接受到的所有的SSL終端簽證必須驗證通過。Self-signed(自定義?)的簽證不能被驗證通過。 預設:NO * virtual_use_local_privs 如果啟用,虛拟使用者将擁有和本地使用者一樣的權限。預設情況下,虛拟使用者使用和匿名使用者一樣的權限,或者限制更加嚴格一些(尤其是寫權限)。 預設:NO * write_enable 該選項控制是否允許那些能夠改變檔案系統的FTP指令生效。這些指令有:STOP,DELE,RNFR,RNTO,MKD,RMD,APPE and SITE. 預設:NO * xferlog_enable 如果啟用,日志檔案将包含上傳和下載下傳的細節。預設情況,該檔案将被放置在/var/log/vsftpd.log,不過這個位置可以使用vsftpd_log_file配置選項來更改。 預設:NO(但是示例配置檔案中啟用它) * xferlog_std_format 如果啟用,傳輸日志檔案将以标準的xferlog格式書寫,就像wu-ftpd使用的一樣。這個也許有用,因為你可以再使用現有的傳輸日志來生成統計資訊。預設的格式可讀性更好,然而,這種風格的日志檔案預設的路徑是/var/log/xferlog,但是你可以使用xferlog_file配置選項來更改它。 預設:NO 數值選項 下面是數值選項清單。一個數值選項必須設定為一個非負的整數。為了友善掩碼選項,支援八進制數。為了指定一個八進制數,使用0作為該數字的第一個數值位。 * accept_timeout 逾時,以秒為機關,用來表示遠端終端(使用者)使用被動傳輸模式建立資料連接配接的逾時時間。 預設:60 * anon_max_rate 表示匿名使用者進行連接配接時允許的最大資料傳輸速率,以Bytes/Second為機關。 預設:0(沒有限制) * anon_umask 這個選項設定匿名使用者登入後建立檔案的umask(權限屏蔽位)值。注意,如果你想指定為八進制數值,記住字首“0”并不等同于基數為10的整數中的“0”(翻譯有點别扭,原文:NOTE! If you want to specify octal values, remember the “0″ prefix otherwise the value will be treated as a base 10 integer!)。 預設:077 * chown_upload_mode 強制匿名使用者上傳檔案chown()ed的檔案模式(即被chown()後的檔案模式)。 預設:0600 * connect_timeout 表示遠端使用者應答PORT傳輸模式的資料連接配接的逾時時間,以秒為時間機關。 預設:60 * data_connection_timeout 表示建立資料連接配接的最長逾時時間,以秒為時間機關。 * delay_failed_login 終止(登入)并報告登入失敗的時間間隔,機關為秒。(原文:The number of seconds to pause prior to reporting a failed login.) 預設:1 * delay_successful_login 暫停(登入)并允許再次登入的時間間隔,機關為秒。(原文:The number of seconds to pause prior to allowing a successful login.) 預設:0 * file_mode 上傳檔案的權限屬性。掩碼在該值上有效,你也許希望把它改變為0777,如果你想要上傳的檔案擁有可執行權限。 預設:0666 * ftp_data_port 使用哪一個端口發起PORT(端口)連接配接(等同于啟用一個比較弱的connect_from_port_20選項) 預設:20 * idle_session_timeout idle(意思:空閑時間),空閑會話逾時時間,機關為秒。表示遠端使用者發送FTP指令請求的最大時間間隔。如果逾時,遠端使用者将被踢出(服務)。 預設:300 * listen_port 如果vsftpd以standalone模式運作,vsftpd将在(該選項指定的)該端口上監聽接入的FTP連接配接。 預設:21 * local_max_rate 表示(被驗證為)本地使用者進行連接配接時允許的最大資料傳輸速率,機關為Bytes/Second。 預設:0(沒有限制) * local_umask 該值設定本地使用者建立檔案的權限屏蔽位。NOTE! If you want to specify octal values, remember the “0″ prefix otherwise the value will be treated as a base 10 integer! 預設:077 * max_clients 如果vsftpd以standalone模式運作,該選項設定vsftpd允許的最大使用者連接配接數。任何額外的使用者連接配接将會報錯(得到一個錯誤的消息)。 預設:0(沒有限制) * max_login_fails 該選項設定多少次登入失敗後殺死會話。 預設:3 * max_per_ip 如果vsftpd以standalone模式運作,該選項設定允許來自同一個源網絡位址(IP)的最大終端(使用者)連接配接數。如果使用者連接配接超出了該限制将會報錯(得到一個錯誤的消息)。 預設:0(沒有限制) * pasv_max_port 可配置設定給被動傳輸模式的資料連接配接的最大端口。該選項可用來協助防火牆縮小端口的範圍。 預設:0(使用任意端口) * pasv_min_port 配置設定給被動傳輸模式的資料連接配接的最小端口。該選項可用來協助防火牆縮小端口範圍。 預設:0(使用任意端口) * trans_chunk_size 你也許不想改變它,但是嘗試把它設定為8192之類來獲得更加平滑的帶寬限制。 預設:0(讓vsftpd自動選擇一個合理的設定) 字元串選項 下面是一個字元串選項清單 * anon_root 該選項指代vsftpd在匿名使用者登入後要切換到的目錄。Failure is silently ignored。 預設:(none) * banned_email_file 該選項是一個檔案名,該檔案包含有不允許登入的匿名使用者的e-mail密碼清單。這個是啟用deny_email_enable選項後所要查閱的檔案。 預設:/etc/vsftpd.banned_emails * banner_file 該選項是一個檔案名,該檔案包含有使用者連接配接到(ftp)伺服器時所要顯示的文本(歡迎)資訊。如果設定了該選項,它将覆寫由ftpd_banner選項提供的banner string。 預設:(none) * ca_certs_file 該選項是一個檔案名,該檔案是vsftpd為了驗證使用者的數字證書而從中加載的權威證書的檔案(This option is the name of a file to load Certificate Authority certs from, for the purpose of validating client certs.)。可惜的是,預設的SSL CA沒有被使用,因為vsftpd使用了chroot限制檔案系統空間。 預設:(none) * chown_username 這個是匿名上傳檔案被賦予的檔案擁有者的使用者名。該選項僅與是否設定了chown_uploads選項相關。 預設:root * chroot_list_file 該選項是一個檔案名,該檔案包含有一個登入後将被chroot()限定在其主目錄下的使用者清單。該選項僅與是否啟用 chroot_list_enable選項相關。如果啟用了chroot_local_user選項,那麼該清單檔案變成了一個不受chroot()限制的使用者清單。 預設:/etc/vsftpd.chroot_list * cmds_allowed 該選項指定了一個由逗号隔開的被允許使用的FTP指令清單(post login.USER,PASS and QUIT are always allowed pre-login(不明白post login和pre-login指的是啥意思))。其他指令被拒絕使用。這是一個鎖定FTP伺服器的強大的方法。例子:cmds_allowed=PASV,RETR,QUIT 預設:(none) * deny_file 該選項可用來設定不被任何方式通路的檔案名模式(或目錄名,等等)。受影響的項目并不被隐藏,但所有嘗試對它們做任何事情(下載下傳,改變目錄,在目錄内affect something等等)都會被拒絕。該選項非常簡單,是以不能應用于嚴格的通路控制——應優先使用檔案系統的權限控制。然而,該選項在某些虛拟使用者的設定中也許比較有用。尤其是在一個檔案可以通過多個檔案名通路的情況(也許是由于符号連結或硬連結),那麼必須采取措施拒絕通路(該檔案)所有的檔案名。如果檔案名包含有hide_file檔案列出的字元串或者它們比對由hide_file指定的正規表達式,那麼将拒絕通路該對象。vsftpd的正規表達式比對代碼是正規表達式所有功能中的一個子集的簡單實作。正因為這樣,你必須細心而且詳盡地測試該選項的任何應用。而且出于重要的安全政策考慮,推薦你使用檔案系統的權限控制,因為它們更為可靠。支援的正規表達式的文法是所有的數字、*、?和{、}等操作符。正則比對僅支援路徑的最後一個分量,例如,a/b /?被支援而a/?/c不被支援。示例:deny_file={*.mp3,*.mov,.private} 預設:(none) * dsa_cert_file 該選項指定用來加密SSL連接配接的DSA證書的位置(路徑) 預設:(none ——有一個RSA證書就足夠了) * dsa_private_key_file 該選項指定用來加密SSL連接配接的DSA私鑰的位置。如果沒有設定該選項,則該私鑰被預期(be expected)放置在和證書相同的位置。 預設:(none) * email_password_file 該選項可用來為secure_email_list_enable選項的使用提供一個可選檔案。 預設:/etc/vsftpd.email_passwords * ftp_username 這個是用來處理匿名FTP的使用者名。該使用者的主目錄是匿名FTP空間的根。 預設:ftp * ftpd_banner 該字元串選項允許你更改vsftpd在一個連接配接第一次連進來時顯示歡迎(問候)資訊。 預設:(none——顯示預設的vsftpd資訊) * guest_username 到布爾選項設定guest_enable中檢視guest login的組成。該設定指定guest使用者映射(be mapped to)的真實使用者名。 預設:ftp * hide_file 該選項用來設定一個在(使用ls指令等)列出目錄中檔案時應該隐藏的檔案名模式(目錄名等)。盡管是隐藏起來,檔案、/目錄等對于一些知道實際檔案名的使用者(clients)是完全可以通路的。名字包含有hide_file列出的字元串或者比對由hide_file指定的正規表達式的對象将被隐藏。 vsftpd的正規表達式比對代碼是正規表達式所有功能中的一個子集的簡單實作。更多的可檢視deny_file選項中關于正規表達式支援的文法。示例:hide_file={*.mp3,.hidden,hide*,h?} 預設:(none) * listen_address 如果vsftpd以standalone模式運作,預設的監聽位址(所有的網絡接口)可以使用該設定更改。提供一個數值形式的IP位址。 預設:(none) * listen_address6 類似listen_address,但是指定預設的監聽對象是IPv6位址(僅當設定了listen_ipv6才使用)。格式是标準的IPv6位址格式。 預設:(none) * local_root 該選項指定了本地使用者(i.e.非匿名使用者)登入後vsftpd将要切換到的目錄。 預設:(none) * message_file 該選項是我們進入到一個新目錄時vsftpd所要查找的檔案的檔案名,該檔案的内容将顯示給遠端使用者。該選項僅于是否啟用了dirmessage_enable選項相關。 預設:.message * nopriv_user 這是vsftpd使用的幾乎沒有特權的使用者名,要注意這應該是一個專用的使用者,而不僅僅是nobody。nobody使用者在大多數機器上被用于許多重要的事情。 預設:nobody * pam_service_name 該字元串是vsftpd将要使用的PAM服務名。 預設:vsftpd * pasv_address 使用該選項來更改vsftpd在應答PASV(被動傳輸模式)指令時公布的IP位址。提供一個數值形式的IP位址,除非啟用了pasv_addr_resolve選項,這種情況下你可以提供一個在啟動時則被DNS(域名服務)解析主機名。 預設:(none —— 位址取自連接配接進來的socket) * rsa_cert_file 該選項指定用來加密SSL連接配接的RSA證書的位置(路徑)。 預設:/usr/share/ssl/certs/vsftpd.pem * rsa_private_key_file 該選項指定用來加密SSL連接配接的RSA私鑰的位置。如果該選項沒被設定,那麼該私鑰預期的位置和證書的相同。 預設:(none) * secure_chroot_dir 該選項應該是一個空目錄名。而且,ftp使用者對該目錄沒有寫權限。偶爾在vsftpd不需要通路檔案系統時,該目錄被用作一個安全的chroot() jail(監獄)。 預設:/var/run/vsftpd * ssl_ciphers 該選項被用來選擇vsftpd用來加密SSL連接配接的SSL密鑰。查閱ciphers的手冊頁面來了解更為詳盡的細節。限定ciphers是一個十分有用的安全預警,因為它可以阻止不懷好意的遠端團體強制使用一個他們已經發現了問題的密鑰。 預設:DES-CBC3-SHA * user_config_dir 這個功能強大的選項允許基于(每一個)使用者更改在manual page(手冊頁、指南頁面)中指定的任意配置選項。如果你設定user_config_dir為/etc/vsftpd_user_conf,然後使用 “chris”使用者登入(FTP伺服器),那麼vsftpd在整個會話期間将使用/etc/vsftpd_user_conf/chris檔案上的設定。該配置檔案的格式和手冊頁描述的細節一樣!請注意并不是所有的設定基于每一個使用者都生效。例如,許多設定先于使用者會話的開始。不影響基于使用者的設定行為的例子包括listen_address、banner_file、max_per_ip、max_clients、xferlog_file等。 預設:(none) * user_sub_token 該選項結合虛拟使用者是十分有用的。它用來為每一個虛拟使用者自動生成一個主目錄(基于一個模闆)。例如,如果由guest_username指定的真實使用者的主目錄是/home/virtual/$USER,而且user_sub_token設定為$USER,那麼當虛拟使用者fred登入進來時,ta 将登入到/home/virtual/fred目錄(通常已經被chroot()了,原文:usually chroot()’ed)。如果local_root選項包含user_sub_token,該選項依然生效。 預設:(none) * user_list_file 該選項是user_list_enable有效時加載的檔案的檔案名。 預設:/etc/vsftpd.user_list * vsftpd_log_file 該選項是寫入vsftpd風格的日志檔案的檔案名。該日志檔案隻有在設定了xferlog_enable選項而且 xferlog_std_format選項沒被設定的情況下才被寫入。可供選擇的,如果你設定了dual_log_enable選項,該檔案依然可以被寫入。一個更為複雜的情況——如果你設定了syslog_enable選項,那麼該檔案不被寫入,作為替代,所有的日志輸出将被送往系統日志。 預設:/var/log/vsftpd.log * xferlog_file 該選項是寫入wuftpd風格的日志檔案的檔案名。僅當設定了xferlog_enable和xferlog_std_format選項,傳輸日志才被寫入(該檔案)。可供選擇的,如果你設定了dual_log_enable選項,該檔案依然可以被寫入。 預設:/var/log/xferlog
轉載于:https://blog.51cto.com/netpro/486522