Vsftp配置文件詳解
FTP 分為兩類,一種為PORT FTP,也就是一般的FTP﹔另一類是PASV FTP,分述如下:
www.2cto.com
PORT FTP 這是一般形式的FTP,首先會建立控制頻道,默認值是port 21,也就是跟port 21 建立聯機,並透過此聯機下達指令。第二,由FTP server 端會建立數據傳輸頻道,默認值為20,也就是跟port 20 建立聯機,並透過port 20 作數據的傳輸。
PASV FTP 跟PORT FTP 類似,首先會建立控制頻道,默認值是port 21,也就是跟port 21 建立聯機,並透過此聯機下達指令。第二,會由client 端做出數據傳輸的請求,包括數據傳輸port 的數字。
www.2cto.com
這兩者的差異為何?PORT FTP當中的數據傳輸port是由FTP server 指定,而PASV FTP的數據傳輸port是由FTP client決定。通常我們使用PASV FTP,是在有防火牆的環境之下,透過client 與server 的溝通,決定數據傳輸的port。
BOOLEAN OPTIONS
allow_anon_ssl
如果ssl_enable是active的,設置為yes的話,匿名用戶則可以使用SSL連接,默認No
anon_mkdir_write_enable
如果設置為yes,匿名用戶則在一定的條件下(write_enable是active,並且在父目錄有寫權限)可以創建目錄,默認No
PORT FTP 這是一般形式的FTP,首先會建立控制頻道,默認值是port 21,也就是跟port 21 建立聯機,並透過此聯機下達指令。第二,由FTP server 端會建立數據傳輸頻道,默認值為20,也就是跟port 20 建立聯機,並透過port 20 作數據的傳輸。
PASV FTP 跟PORT FTP 類似,首先會建立控制頻道,默認值是port 21,也就是跟port 21 建立聯機,並透過此聯機下達指令。第二,會由client 端做出數據傳輸的請求,包括數據傳輸port 的數字。
這兩者的差異為何?PORT FTP 當中的數據傳輸port 是由FTP server 指定,而PASV FTP 的數據傳輸port 是由FTP client 決定。通常我們使用PASV FTP,是在有防火牆的環境之下,透過client 與server 的溝通,決定數據傳輸的port。
BOOLEAN OPTIONS
allow_anon_ssl
如果ssl_enable是active的,設置為yes的話,匿名用戶則可以使用SSL連接,默認No
anon_mkdir_write_enable
如果設置為yes,匿名用戶則在一定的條件下(write_enable是active,並且在父目錄有寫權限)可以創建目錄,默認No
anon_other_write_enable
如果設置為yes,匿名用戶除了有upload和創建目錄權限外,還有寫操作權限,如:刪除或者重命名文件,默認No
anon_upload_enable
如果設置為yes,匿名用戶在一定的條件下(write_enable必須是active,匿名用戶必須有寫權限)可以上傳文件,默認No
anon_world_readable_only
如置為yes,匿名用戶則可以下載可讀的文檔,默認Yes
anonymous_enable
是否允許匿名用戶可以登錄ftp,如果設置為yes,ftp和anonymous用戶都可以作為匿名用戶登錄,默認Yes
ascii_download_enable
如果開啟,則以ASCII模式下載數據,默認No
ascii_upload_enable
如果開啟,則以ASCII模式上傳數據,默認No
async_abor_enable
如果開啟,則一個特殊的ftp命令會被開啟,類似於'async ABOR',是否允許客戶端使用rsync,默認No
background
如果開啟,vsftp將以監聽(listen)模式啟動,默認No
check_shell
只有在PAM沒有嵌入vsftp的時候起作用,如果禁止,vsftp則不會在/etc/shells中檢查本地用戶的shell,默認Yes
chmod_enable
如果開啟,則允許使用'SITE CHMOD'命令,這個只針對本地用戶有效,對匿名用戶無效。默認Yes
chown_uploads
如果開啟,所有的匿名用戶........................
chroot_list_enable
如果開啟,你需要提供一個本地用戶列表以指定誰在chroot()中,如果chroot_local_user設置為Yes,則這個列表表示哪些用戶不在chroot()中,默認列表文件是/etc/vsftpd.chroot_list,你也可以通過chroot_list_file參數重置。默認No
chroot_local_user
如果開啟,則本地用戶默認使用chroot(),默認No
connect_from_port_20
控制在PORT模式下,數據連接是否使用20端口。默認是No
debug_ssl
如果開啟,openssl連接診斷會在記錄在vsftp日志中,默認No
delete_failed_uploads
如果開啟,任何上傳失敗的文件都會被刪除,默認No
deny_email_enable
dirlist_enable
如果關閉,所有的列目錄命令都會被禁止,默認Yes
dirmessage_enable
如果開啟,則在用戶第一次進入一個目錄時,會顯示該目錄下的.message文件的內容信息,你可以通過message_file重置該文件的設置,默認No
download_enable
dual_log_enable
如果開啟,兩個日志文件會被同時產生,/var/log/xferlog和/var/log/vsftpd.log,前者是wu-ftpd類型日志,後者是vsftp自己風格的日志,默認No
force_dot_files
如果開啟,以'.'開頭的文件和目錄會被列出來,即使沒有使用a標記(ls -a),也就是顯示隱藏文件,默認No
force_anon_data_ssl
只在ssl_enable是active時有效,如果設置為yes,則所有的匿名用戶都被強制要求使用ssl發送和接收數據,默認No
force_anon_logins_ssl
只在ssl_enable是active時有效,如果設置為yes,則所喲的匿名用戶都被強制要求使用ssl發送密碼,默認No
force_local_data_ssl
只在ssl_enable是active時有效,如果設置為yes,所有的非匿名用戶都被強制要求使用ssl發送和接收數據,默認Yes
force_local_logins_ssl
只在ssl_enable是active時有效,如果設置為yes,所有的非匿名用戶都被強制要求使用ssl發送密碼,默認Yes
guest_enable
如果開啟,所有的非匿名用戶以'guest'登錄,一個'guest'登錄後,會映射到guest_username指定文件中的用戶上面,默認No
hide_ids
如果開啟,所有的用戶和組信息在目錄中被顯示時,都會顯示為ftp,默認No
implicit_ssl
listen
如果開啟,vsftp則運行在standalone模式,默認No
listen_ipv6
類似listen,不過使用IPv6 socket代替IPv4,和listen參數互相排斥,默認No
local_enable
控制是否允許本地登錄,如果開啟,則在/etc/passwd中的用戶都可以登錄,默認No
lock_upload_files
如果開啟,則所有的上傳進程在上傳文件時都會有一個寫鎖,所有的下載進程在下載文件時共享讀鎖,默認Yes
log_ftp_protocol
如果開啟,假如xferlog_std_format參數沒有開啟,則所有的ftp請求和回應都會被記錄進日志,默認No
ls_recurse_enable
如果開啟,則允許用戶使用'ls -R'命令,默認No
mdtm_write
如果開啟,則允許MDTM修改文件訪問時間,默認Yes
no_anon_password
如果開啟,則阻止vsftp詢問匿名用戶密碼,匿名用戶會直接登錄,默認No
no_log_lock
如果開啟,則阻止vsftp在寫日志文件時獲取文件鎖,默認No
passwd_chroot_enable
pasv_addr_resolve
如果你想在pasv模式使用主機名,則可以設置為yes,默認No
pasv_enable
如果你想關閉PASV模式,則設置no,默認Yes
pasv_promiscuous
如果你想關閉PASV模式的安全檢查(它保證數據連接和控制連接源自同一個ip),可以設置為yes,默認No
port_enable
如果你想禁止通過PORT方法獲取數據連接,可以設置為No,默認Yes
port_promiscuous
如果你想禁止PORT模式的安全檢查(確保出去的數據連接可以連接到客戶端),則可以設置為Yes,默認No
require_cert
如果設置為yes,則所有的客戶端ssl連接需要提供一個客戶端證書,默認No
syslog_enable
如果開啟,則所有記錄到/var/log/vsftpd.log的日志都會記錄到system log中,默認No
tcp_wrappers
如果開啟,vsftp支持tcp_wrappers,默認No
text_userdb_names
tilde_user_enable
use_localtime
如果開啟,vsftp將會在顯示目錄時顯示你的本地時間,默認No
use_sendfile
一個內部用來測試sendfile()系統調用效果的參數,默認Yes
userlist_deny
如果userlist_enable選項開啟,則會檢查這個選項,如果設置為no,只有在userlist_file中指定的用戶會被允許登錄,默認Yes
userlist_enable
如果開啟,vsftp會加載userlist_file指定的用戶列表,如果用戶使用列表中的用戶名登錄,則會被拒絕掉,默認No
validate_cert
如果開啟,所有的ssl客戶端證書必須是驗證ok的,而自己簽名的證書則不會通過認證,默認No
virtual_use_local_privs
如果開啟,虛擬用戶則會和本地用戶具有相同的權限,默認情況下,虛擬用戶和匿名用戶具有的權限一樣,默認No
write_enable
是否允許FTP命令改變文件系統,這些命令是:STOR, DELE,RNFR, RNTO, MKD, RMD, APPE and SITE,默認No
xferlog_enable
如果開啟,一個日志文件會維護上傳和下載的詳細信息,默認記錄在/var/log/vsftpd.log,可以通過vsftpd_log_file重置,默認No
xferlog_std_format
如果開啟,傳輸日志則會采用標准的xferlog格式,默認是/var/log/xferlog,可以通過xferlog_file重置,默認No
NUMERIC OPTIONS
accept_timeout
遠程客戶端使用PASV模式時,建立數據連接的超時時間,默認60s
anon_max_rate
最大數據傳輸速率,默認0(不限制)
anon_umask
匿名用戶創建一個文件的umask值,默認077
chown_upload_mode
匿名用戶上傳文件的mode值,默認0600
connect_timeout
遠程客戶端使用PORT模式時,響應數據連接的超時時間,默認60s
data_connection_timeout
一個允許數據傳輸粗略的超時時間,默認300s
delay_failed_login
暫停報告之前失敗的登錄,默認1s
delay_successful_login
暫停之前一個成功的登錄,默認1s
file_open_mode
上傳的文件具有的權限,默認0666
ftp_data_port
PORT模式的連接端口,默認20
idle_session_timeout
在兩次輸入ftp命令之間的空閒時間,默認300s
listen_port
如果vsftp工作在standalone模式,該端口監聽進入的連接,默認21
local_max_rate
本地用戶的最大數據傳輸速率,默認0(不限制)
local_umask
本地用戶創建一個文件鎖具有的umask,默認077
max_clients
如果vsftp工作在standalone模式,有多少用戶可以連接進來,默認0(不限制)
max_login_fails
多少次登錄失敗後,kill這個連接,默認3
max_per_ip
如果vsftp工作在standalone模式,同一個ip源地址可以有多少個連接進來,默認0(不限制)
pasv_max_port
在PASV模式下,可以分配給數據連接的最大端口號,默認0(可以使用任何端口)
pasv_min_port
在PASV模式下,可以分配給數據連接的最小端口號,默認0(可以使用任何端口)
trans_chunk_size
一般不會改變該參數的值,不過你可以設置為8192試試,默認0
STRING OPTIONS
anon_root
在匿名用戶成功登錄後,跳轉到那個目錄,默認none
banned_email_file
該文件包含了哪些匿名的e-mail 密碼是不允許登錄的,如果deny_email_enable被開啟,則會檢查這個參數,默認/etc/vsftpd.banned_emails
banner_file
當一個用戶登錄後,顯示的信息,如果設置了該文件,則會覆蓋ftpd_banner的設置,默認none
ca_certs_file
加載的CA文件的名稱,默認none
chown_username
匿名用戶上傳文件所具有的owner,只有在chown_uploads被設置的時候有效,默認root
chroot_list_file
該文件包含哪些本地用戶使用chroot(),只有在chroot_list_enable被開啟的時候起作用,如果chroot_local_user開啟,則列表文件變成哪些用戶不使用chroot(),默認/etc/vsftpd.chroot_list
cmds_allowed
該選項用逗號分割一個允許執行的ftp命令列表(例如在POST模式下,cmds_allowed=USER, PASS,QUIT),默認none
cmds_denied
該選項用逗號分割一個不允許執行的ftp命令列表,默認none
deny_file
設置一個文件名模式,該匹配的文件都不許被訪問,例如deny_file={*.mp3,*.mov,.private},默認none
dsa_cert_file
ssl加密連接中使用的DSA文件的位置,默認none
dsa_private_key_file
DSA私鑰的位置,默認none
ftp_username
使用該帳號處理匿名登錄的情況,默認ftp
ftpd_banner
可以使用該選項替換第一次登陸時顯示的默認歡迎語句,默認none
guest_username
把一個真實用戶映射到guest user上面,默認ftp
hide_file
listen_address
如果vsftp工作在standalone模式,則可以通過該選項替換默認監聽地址,默認none
listen_address6
和listen_address一樣,替換ipv6
local_root
在本地用戶登錄後,vsftp跳轉到那個目錄,默認none
message_file
如果dirmessage_enable開啟,該選項設置默認的信息文件,默認.message
nopriv_user
該用戶完全沒有特權,默認nobody
pam_service_name
vsftp使用的PAM服務的名稱,默認vsftpd
secure_chroot_dir
該選項設置一個空目錄名稱,該目錄不能被ftp用戶有寫權限,該目錄作為一個安全的chroot()環境,vsftp不需要文件系統訪問它
ssl_ciphers
ssl加密算法,默認DES-CBC3-SHA
user_config_dir
允許你覆蓋任何配置文件中的選項,它是基於每一個用戶的配置,如果你設置user_config_dir為/etc/vsftpd_user_conf,當你用chris用戶登錄時,vsftp會申請加載/etc/vsftpd_user_conf/chris文件在該會話期內,不是所有的參數都在個人配置文件中生效的,默認none
user_sub_token www.2cto.com
用來連接虛擬賬戶,它會為每個虛擬帳號自動生成家目錄,例如設置guest_username為/home/virtual/$USER,user_sub_token為$USER,當fred虛擬賬戶登錄時,fred的家目錄為/home/virtual/fred,默認none
userlist_file
當userlist_enable開啟的時候,會加載該參數設置的文件,默認/etc/vsftpd.user_list
vsftpd_log_file
在xferlog_enable被設置,並且xferlog_std_format沒有設置的時候,來指定vsftp風格的日志寫到哪個文件中,如果你設置了syslog_enable,則日志會寫入系統日志文件中,默認/var/log/vsftpd.log
xferlog_file
在xferlog_enable和xferlog_std_format被設置的時候,wu-ftpd風格的傳輸日志寫入哪個文件中,默認/var/log/xferlog