yum安裝的vsftpd配置文件以下:shell
vim /etc/vsftpd/vsftpd.conf
1)以「#」字符開始的行是註釋行。每一行爲一個選項設置,格式爲「option=value」,注意「=」號兩邊不能留空白符。
2)除了這個主配置文件外,還能夠給特定用戶設定我的配置文件vim
listen_address=[IP] # 提供ftp服務的主機IP,單IP主機,不須要使用,多IP主機默認監聽全部IP地址。在VSFTPD使用單獨(standalone)模式下有效。 listen_port=[port] # 提供ftp服務的控制端口號,默認值爲21。此選項在standalone模式下生效。 port_enable=YES # 是否啓用ftp主動模式,默認爲YES。若是要在數據鏈接時取消PORT主動模式時,改成NO connetc_from_port_20=NO # 以port主動模式進行數據傳輸時是否使用20端口,默認爲NO不使用。但RHEL自帶的vsftpd.conf文件中此參數設爲YES。 ftp_data_port=[port] # 指定ftp數據傳輸端口值,默認爲20。此參數用於主動模式。 port_promiscuous=NO # 取消PORT安全檢查,默認爲NO不取消檢查。該檢查確保外出的數據只能鏈接到客戶端上。不建議打開 pasv_enable=YES # 容許數據傳輸時使用PASV被動模式。默認爲YES容許被動模式 pasv_min_port=[minport] pasv_max_port=[maxport] # 設定在PASV被動模式下,創建數據傳輸所可使用port範圍的下界和上界,默認爲0不限制。 # 把端口範圍設在比較高的一段範圍內,好比50000-60000,將有助於安全性的提升。 pasv_promiscuous=NO # 是否關閉PASV模式的安全檢查,默認值爲NO不關閉。該檢查確保數據鏈接和控制鏈接是來自同一個IP地址。不建議打開,此選項惟一合理的用法是存在於由安全隧道方案構成的組織中。 pasv_address=[IP] # 此選項爲一個數字IP地址,做爲PASV命令的響應。默認值爲none,即地址是從呼入的鏈接套接字(incomingconnectdsocket)中獲取。
默認狀況下,VSFTPD使用二進制傳輸數據,禁止使用ASCII傳輸模式。
若是FTP客戶端使用ascii命令,指明要使用ASCII模式,VSFTPD表面上接受了ascii命令,但在實際傳輸文件時,仍是使用二進制方式,就會出現亂碼文件安全
ascii_upload_enable=NO #控制是否容許使用ascii模式上傳文件,默認爲NO不容許。 ascii_download_enable=NO # 控制是否容許使用ascii模式下載文件,默認爲NO不容許。
idle_session_timeout=60 # 設置用戶會話的空閒中斷時間,單位爲秒,默認值爲300。 data_connection_timeout=120 # 設置空閒的數據鏈接的中斷時間。默認值爲300秒。 accept_timeout=60 # 接受創建聯機的超時設定,單位爲秒。默認值爲60。 connect_timeout=60 # 響應PORT方式的數據聯機的超時設定,單位爲秒。默認值爲60。 # 以上兩個選項針對客戶端的,將使客戶端空閒1分鐘後自動中斷鏈接,並在中斷1分鐘後自動激活鏈接。 max_clients=200 # 指明服務器總的客戶併發鏈接數爲200,默認值爲0,表示不限最大鏈接數。此參數在使用standalone模式下有效 max_per_ip=3 # 指明每一個IP地址的併發鏈接數,默認值爲0不限制。該設置會影響到象網際快車這類的多進程下載軟件。此參數在使用standalone模式下有效 local_max_rate=50000 # 設置本地用戶的最大傳輸速率限制(50kbytes/sec),以Bytes/s爲單位。默認0不限制。此選項能夠爲指定用戶單獨設置 anon_max_rate=30000 # 設定匿名用戶的最大數據傳輸速度value,以Bytes/s爲單位。默認0不限制 pasv_min_port=50000 # 設置被動模式客戶端鏈接時的端口範圍,默認爲0不限制 pasv_max_port=60000
VSFTPD的用戶分爲三類:匿名用戶、本地用戶(localuser)以及虛擬用戶服務器
anonymous_enable=YES|NO # 控制是否容許匿名用戶登陸,默認值爲YES容許匿名用戶登陸。 ftp_username= # 匿名用戶所使用的系統用戶名。默認此參數在配置文件中不出現,值爲ftp。 no_anon_password=NO # 控制匿名用戶登入時是否須要密碼,默認值爲NO須要密碼。 deny_email_enable=NO # 拒絕在banned_email_file指定的文件中所列出的email地址進行登陸的匿名用戶。默認值爲NO關閉。這對於阻擊某些Dos攻擊有效。若是開啓須要追加如下配置 banned_email_file=/etc/banned_emails.conf # 當匿名用戶使用banned_email_file文件中所列出的e-mail進行登陸時,被拒絕 指定包含被拒絕的e-mail地址的文件,默認文件爲/etc/vsftpd.banned_emails。 anon_root= # 匿名用戶的根目錄,默認爲/var/ftp/,主配置文件中默認無此項。 anon_world_readable_only=YES # 默認值爲YES只容許匿名用戶下載可閱讀的文件。NO容許匿名用戶瀏覽整個服務器的文件 anon_upload_enable=NO # 是否容許匿名用戶上傳文件,默認NO不容許。
# 除了anon_upload_enable這個參數外,匿名用戶要能上傳文件,還須要兩個條件:session
1)write_enable參數爲YES;
2)在文件系統上,FTP匿名用戶對某個目錄有寫權限
anon_mkdir_write_enable=NO # 是否容許匿名用戶建立新目錄,默認爲NO不容許,同時FTP匿名用戶必需對新目錄的上層目錄擁有寫權限。 anon_other_write_enable=NO # 匿名用戶是否擁有除了上傳和新建目錄以外的其餘權限,如刪除、改名等。默認爲NO不擁有 chown_uploads=NO # 是否修改匿名用戶所上傳文件的全部權。默認值爲NO不修改。若是改成YES匿名用戶所上傳的文件的全部權將改成另一個不一樣的用戶全部 chown_username=whoever # 指定擁有匿名用戶上傳文件全部權的用戶。此參數與chown_uploads聯用。不推薦使用root用戶。
在使用FTP服務的用戶中,除了匿名用戶外,還有一類在FTP服務器所屬主機上擁有帳號的用戶。VSFTPD中稱此類用戶爲本地用戶(localuser),等同於其餘FTP服務器中的real用戶。併發
local_enable=YES # 本地系統用戶是否能夠登錄,默認值爲YES。 local_root= # 定義全部本地用戶的根目錄。默認爲空,本地用戶登陸到本身的宿主目錄 user_config_dir=/etc/vsftpd/user.d # 定義用戶我的配置文件所在的目錄,配置文件名爲用戶名,配置格式與vsftpd.conf相同。默認爲無不單獨設置用戶權限,虛擬用戶也用這個
guest_enable=NO # 如果啓動這項功能,全部的非匿名登入者都視爲guest,默認值爲NO關閉。若是要使用ftp虛擬用戶須要啓用 guest_username= # 定義VSFTPD的guest用戶在系統中的用戶名。默認值爲ftp,在使用ftp虛擬用戶時建議自定義,例如ftpvuser
/etc/vsftpd/ftpusers # 改配置文件中的用戶禁止登陸FTP服務器。這個機制是在/etc/pam.d/vsftpd中默認設置的。 pam_service_name=vsftpd # 指定vsftpd進行PAM認證時所使用的PAM配置文件名,默認值是vsftpd,默認PAM配置文件是/etc/pam.d/vsftpd,使用ftp虛擬用戶時須要更改 userlist_enable=NO # 是否經過userlist_file列表控制可登錄的用戶,默認爲NO不啓用,若是啓用,列表中的用戶默認拒絕登陸FTP服務器,在輸入用戶名後,不提示輸入密碼 userlist_deny=YES # 決定禁止仍是容許userlist_file指定文件中的用戶登陸FTP服務器,默認爲YES禁止文件中的用戶登陸,此選項在userlist_enable選項啓動後才生效,若是要容許在文件中的用戶登陸FTP服務器須要改成NO userlist_file=/etc/vsftpd/user_list # userlist_enable選項指定的用戶列表的文件。默認爲/etc/vsftpd/user_list。 tcp_wrappers=YES # 在vsftpd中使用TCP_Wrappers封裝數據,默認值爲YES。
chroot_list_enable=NO # 是否鎖定用戶在其宿主目錄中,默認值爲NO不鎖定。具體的用戶在chroot_list_file參數所指定的文件中列出。 chroot_list_file=/etc/vsftpd/chroot_list # 指定要鎖定在宿主目錄中的用戶,默認不設置。一行一用戶,一般爲/etc/vsftpd/chroot_list chroot_local_users=NO # 將本地用戶鎖定在其宿主目錄中,默認值爲NO不鎖定。
注意:app
當chroot_local_users被激活時,chroot_list_enable和chroot_local_users參數的做用將發生變化,chroot_list_file所指定文件中的用戶將不被鎖定在自家目錄。
可能帶來安全上的衝突,特別是當用戶擁有上傳、shell訪問等權限時。socket
passwd_chroot_enable=NO # 當此選項需與chroot_local_user配合,chroot()容器的位置能夠在每一個用戶的基礎上指定。每一個用戶的容器來源於/etc/passwd中每一個用戶的自家目錄字段。默認值爲NO。
hide_ids=YES|NO # 是否隱藏文件的全部者和組信息。默認值爲NO不隱藏,若是爲YES,當用戶使用"ls -al"之類的指令時,在目錄列表中全部文件的擁有者和組信息都顯示爲ftp ls_recurse_enable=YES|NO # 是否容許使用"ls-R"指令,默認值爲NO不容許。若是在一個大型FTP站點的根目錄下使用"ls-R"會消耗大量系統資源。 write_enable=YES|NO # 是否容許使用修改文件系統的FTP的指令,默認爲NO不容許,好比STOR、DELE、RNFR、RNTO、MKD、RMD、APPE以及SITE secure_chroot_dir= # 安全沙箱目錄,指向一個ftp用戶無寫權限的空目錄,默認爲/usr/share/empty。當vsftpd不須要訪問文件系統時,這個目錄將被做爲一個安全的容器,用戶將被限制在此目錄中。 anon_umask= # 匿名用戶新增文件的umask數值。默認值爲077。 file_open_mode= # 上傳文件的權限,默認值爲0666。與chmod所使用的數值相同。若是但願上傳的文件能夠執行,設此值爲0777。 local_umask= # 本地用戶新增文件時的umask數值,默認值爲077。若是但願新增的文件他人能夠訪問的話,修改成022
ftpd_banner=welcome # 此參數定義了登陸歡迎語,預設值爲無,可修改 banner_file=/etc/vsftpd/banner_file # 當用戶登陸時會顯示此文件中的內容,一般爲歡迎話語或是說明。默認值爲無。 # 與ftpd_banner相比,banner_file是文本文件的形式,而ftpd_banner是字串格式。banner_file選項將取代ftpd_banner選項。 dirmessage_enable=YES # 特定目錄的提示信息,默認爲YES啓用。當用戶進入指定目錄,若是該目錄下存在message_file指定的文件,則顯示出現此文檔的內容,一般這個文檔會放置歡迎話語,或是對該目錄的說明。 message_file= # dirmessage_enable選項啓用時生效,指定提示內容的文檔。默認爲.message,以該擴展名結尾的文件
xferlog_enable=NO # 是否啓用一個日誌文件,記錄上傳和下載,默認爲NO不啓用,該日誌文件由xferlog_file選項指定 xferlog_file=/var/log/vsftpd.log # 記錄ftp日誌。默認爲/var/log/vsftpd.log xferlog_std_format=NO # 日誌文件格式是否使用xferlog的標準格式,默認爲NO不使用。默認的日誌格式更爲可讀性,使用xferlog格式可使用已經存在的傳輸統計生成器。 log_ftp_protocol=NO # 是否記錄全部的FTP請求和響應到日誌中,這個選項通常用於調試,默認爲NO不記錄。使用此選項時xferlog_std_format不能被激活
setproctitle_enable=NO # 是否在系統進程列表中顯示每一個會話(session)的狀態,默認爲NO不顯示。包括掛起、下載等 text_userdb_names=No # 用戶使用ls -al命令時,列表信息是否顯示擁有者名稱而不是UID,默認爲NO不顯示 use_localtime=NO # vsftpd顯示目錄列表時是否使用服務器本地時區的時間。默認爲NO顯示GMT時間,建議修改成YES。由ftp命令「MDTM」返回的時間值也受此選項影響。 check_shell=YES # 本地用戶登陸時vsftpd是否檢查/etc/shells文件以尋找一個有效的用戶shell。默認爲YES。此選項僅對不使用PAM方式的VSFTPD生效。 nopriv_user=nobody # 指定一個專用的除nobody之外的用戶,當VSFTPD不想要什麼權限時,使用此用戶身份。默認值爲nobody,若是使用建議修改,由於在大多數的機器上,nobody用戶被用於大量重要的事情 pam_service_name= # 指明vsftpd使用用PAM驗證服務時的PAM配置文件名。默認值爲ftp。
====== 完畢,呵呵呵呵 =======tcp