本文根據RedKing的帖子整理節選而來。原文地址在http://bbs.51cto.com/thread-717151-1.html。html
vsftpd做爲一個主打安全的FTP服務器,有不少的選項設置。下面介紹了vsftpd的配置文件列表,而全部的配置都是基於vsftpd.conf這個配置文件的。本文將提供完整的vsftpd.conf的中文說明。學習本文的內容將有助於你初步瞭解vsftpd的配置文件,但針對具體狀況還須要制定具體的配置方法。linux
vsftpd的配置文件/etc/vsftpd/vsftpd.conf安全
主配置文件/usr/sbin/vsftpd服務器
Vsftpd的主程序/etc/rc.d/init.d/vsftpd網絡
啓動腳本/etc/pam.d/vsftpdsession
PAM認證文件(此文件中file=/etc/vsftpd/ftpusers字段,指明阻止訪問的用戶來自/etc/vsftpd/ftpusers文件中的用戶)app
/etc/vsftpd/ftpusers
異步
禁止使用vsftpd的用戶列表文件。記錄不容許訪問FTP服務器的用戶名單,管理員能夠把一些對系統安全有威脅的用戶帳號記錄在此文件中,以避免用戶從FTP登陸後得到大於上傳下載操做的權利,而對系統形成損壞。(注意:linux-4中此文件在/etc/目錄下)async
/etc/vsftpd/user_list
tcp
禁止或容許使用vsftpd的用戶列表文件。這個文件中指定的用戶缺省狀況(即在/etc/vsftpd/vsftpd.conf中設置userlist_deny=YES)下也不能訪問FTP服務器,在設置了userlist_deny=NO時,僅容許user_list中指定的用戶訪問FTP服務器。(注意:linux-4中此文件在/etc/目錄下)
/var/ftp
匿名用戶主目錄;本地用戶主目錄爲:/home/用戶主目錄,即登陸後進入本身家目錄
/var/ftp/pub
匿名用戶的下載目錄,此目錄需賦權根chmod 1777 pub(1爲特殊權限,使上載後沒法刪除)
/etc/logrotate.d/vsftpd.log Vsftpd的日誌文件
和Linux系統中的大多數配置文件同樣,vsftpd的配置文件中以#開始註釋。
# 是否容許匿名登陸FTP服務器,默認設置爲YES容許
# 用戶可以使用用戶名ftp或anonymous進行ftp登陸,口令爲用戶的E-mail地址。
# 如不容許匿名訪問則設置爲NO
anonymous_enable=YES
# 是否容許本地用戶(即linux系統中的用戶賬號)登陸FTP服務器,默認設置爲YES容許
# 本地用戶登陸後會進入用戶主目錄,而匿名用戶登陸後進入匿名用戶的下載目錄/var/ftp/pub
# 若只容許匿名用戶訪問,前面加上#註釋掉便可阻止本地用戶訪問FTP服務器
local_enable=YES
# 是否容許本地用戶對FTP服務器文件具備寫權限,默認設置爲YES容許
write_enable=YES
# 掩碼,本地用戶默認掩碼爲077
# 你能夠設置本地用戶的文件掩碼爲缺省022,也可根據我的喜愛將其設置爲其餘值
#local_umask=022
# 是否容許匿名用戶上傳文件,須將全局的write_enable=YES。默認爲YES
#anon_upload_enable=YES
# 是否容許匿名用戶建立新文件夾
#anon_mkdir_write_enable=YES
# 是否激活目錄歡迎信息功能
# 當用戶用CMD模式首次訪問服務器上某個目錄時,FTP服務器將顯示歡迎信息
# 默認狀況下,歡迎信息是經過該目錄下的.message文件得到的
# 此文件保存自定義的歡迎信息,由用戶本身創建
#dirmessage_enable=YES
# 是否讓系統自動維護上傳和下載的日誌文件
# 默認狀況該日誌文件爲/var/log/vsftpd.log,也能夠經過下面的xferlog_file選項對其進行設定
# 默認值爲NO
xferlog_enable=YES
# Make sure PORT transfer connections originate from port 20 (ftp-data).
# 是否設定FTP服務器將啓用FTP數據端口的鏈接請求
# ftp-data數據傳輸,21爲鏈接控制端口
connect_from_port_20=YES
# 設定是否容許改變上傳文件的屬主,與下面一個設定項配合使用
# 注意,不推薦使用root用戶上傳文件
#chown_uploads=YES
# 設置想要改變的上傳文件的屬主,若是須要,則輸入一個系統用戶名
# 能夠把上傳的文件都改爲root屬主。whoever:任何人
#chown_username=whoever
# 設定系統維護記錄FTP服務器上傳和下載狀況的日誌文件
# /var/log/vsftpd.log是默認的,也能夠另設其它
#xferlog_file=/var/log/vsftpd.log
# 是否以標準xferlog的格式書寫傳輸日誌文件
# 默認爲/var/log/xferlog,也能夠經過xferlog_file選項對其進行設定
# 默認值爲NO
#xferlog_std_format=YES
# 如下是附加配置,添加相應的選項將啓用相應的設置
# 是否生成兩個類似的日誌文件
# 默認在/var/log/xferlog和/var/log/vsftpd.log目錄下
# 前者是wu_ftpd類型的傳輸日誌,能夠利用標準日誌工具對其進行分析;後者是vsftpd類型的日誌
#dual_log_enable
# 是否將本來輸出到/var/log/vsftpd.log中的日誌,輸出到系統日誌
#syslog_enable
# 設置數據傳輸中斷間隔時間,此語句表示空閒的用戶會話中斷時間爲600秒
# 即當數據傳輸結束後,用戶鏈接FTP服務器的時間不該超過600秒。能夠根據實際狀況對該值進行修改
#idle_session_timeout=600
# 設置數據鏈接超時時間,該語句表示數據鏈接超時時間爲120秒,可根據實際狀況對其個修改
#data_connection_timeout=120
# 運行vsftpd須要的非特權系統用戶,缺省是nobody
#nopriv_user=ftpsecure
# 是否識別異步ABOR請求。
# 若是FTP client會下達「async ABOR」這個指令時,這個設定才須要啓用
# 而通常此設定並不安全,因此一般將其取消
#async_abor_enable=YES
# 是否以ASCII方式傳輸數據。默認狀況下,服務器會忽略ASCII方式的請求。
# 啓用此選項將容許服務器以ASCII方式傳輸數據
# 不過,這樣可能會致使由"SIZE /big/file"方式引發的DoS攻擊
#ascii_upload_enable=YES
#ascii_download_enable=YES
# 登陸FTP服務器時顯示的歡迎信息
# 若有須要,可在更改目錄歡迎信息的目錄下建立名爲.message的文件,並寫入歡迎信息保存後
#ftpd_banner=Welcome to blah FTP service.
# 黑名單設置。若是很討厭某些email address,就可使用此設定來取消他的登陸權限
# 能夠將某些特殊的email address抵擋住。
#deny_email_enable=YES
# 當上面的deny_email_enable=YES時,能夠利用這個設定項來規定哪些郵件地址不可登陸vsftpd服務器
# 此文件需用戶本身建立,一行一個email address便可
#banned_email_file=/etc/vsftpd/banned_emails
# 用戶登陸FTP服務器後是否具備訪問本身目錄之外的其餘文件的權限
# 設置爲YES時,用戶被鎖定在本身的home目錄中,vsftpd將在下面chroot_list_file選項值的位置尋找chroot_list文件
# 必須與下面的設置項配合
#chroot_list_enable=YES
# 被列入此文件的用戶,在登陸後將不能切換到本身目錄之外的其餘目錄
# 從而有利於FTP服務器的安全管理和隱私保護。此文件需本身創建
#chroot_list_file=/etc/vsftpd/chroot_list
# 是否容許遞歸查詢。默認爲關閉,以防止遠程用戶形成過量的I/O
#ls_recurse_enable=YES
# 是否容許監聽。
# 若是設置爲YES,則vsftpd將以獨立模式運行,由vsftpd本身監聽和處理IPv4端口的鏈接請求
listen=YES
# 設定是否支持IPV6。如要同時監聽IPv4和IPv6端口,
# 則必須運行兩套vsftpd,採用兩套配置文件
# 同時確保其中有一個監聽選項是被註釋掉的
#listen_ipv6=YES
# 設置PAM外掛模塊提供的認證服務所使用的配置文件名,即/etc/pam.d/vsftpd文件
# 此文件中file=/etc/vsftpd/ftpusers字段,說明了PAM模塊能抵擋的賬號內容來自文件/etc/vsftpd/ftpusers中
#pam_service_name=vsftpd
# 是否容許ftpusers文件中的用戶登陸FTP服務器,默認爲NO
# 若此項設爲YES,則user_list文件中的用戶容許登陸FTP服務器
# 而若是同時設置了userlist_deny=YES,則user_list文件中的用戶將不容許登陸FTP服務器,甚至連輸入密碼提示信息都沒有
#userlist_enable=YES/NO
# 設置是否阻扯user_list文件中的用戶登陸FTP服務器,默認爲YES
#userlist_deny=YES/NO
# 是否使用tcp_wrappers做爲主機訪問控制方式。
# tcp_wrappers能夠實現linux系統中網絡服務的基於主機地址的訪問控制
# 在/etc目錄中的hosts.allow和hosts.deny兩個文件用於設置tcp_wrappers的訪問控制
# 前者設置容許訪問記錄,後者設置拒絕訪問記錄。
# 如想限制某些主機對FTP服務器192.168.57.2的匿名訪問,編緝/etc/hosts.allow文件,如在下面增長兩行命令:
# vsftpd:192.168.57.1:DENY 和vsftpd:192.168.57.9:DENY
# 代表限制IP爲192.168.57.1/192.168.57.9主機訪問IP爲192.168.57.2的FTP服務器
# 此時FTP服務器雖能夠PING通,但沒法鏈接
tcp_wrappers=YES