vsftpd 配置文件詳解
1. 默認配置:
1>允許匿名用戶和本地用戶登陸。
anonymous_enable=YES
local_enable=YES
2>匿名用戶使用的登陸名為ftp或anonymous,口令為空;匿名用戶不能離開匿名用戶家目錄/var/ftp,且只能下載不能上傳。
3>本地用戶的登錄名為本地用戶名,口令為此本地用戶的口令;本地用戶可以在自 己家目錄中進行讀寫操作;本地用戶可以離開自家目錄切換至有權限訪問的其他目錄,並在權限允許的情況下進行上傳/下載。
write_enable=YES
4>寫在文件/etc/vsftpd.ftpusers中的本地用戶禁止登陸。
2. 配置文件格式:
vsftpd.conf 的內容非常單純,每一行即為一項設定。若是空白行或是開頭為#的一行,將會被忽略。內容的格式只有一種,如下所示
option=value
要注意的是,等號兩邊不能加空白。
3. 匿名用戶(anonymous)設置
anonymous_enable=YES/NO (YES)
控制是否允許匿名用戶登入,YES 為允許匿名登入,NO 為不允許。默認值為YES。
write_enable=YES/NO (YES)
是否允許登陸用戶有寫權限。屬於全局設置,默認值為YES。
no_anon_password=YES/NO (NO)
若是啟動這項功能,則使用匿名登入時,不會詢問密碼。默認值為NO。
ftp_username=ftp
定義匿名登入的使用者名稱。默認值為ftp。
anon_root=/var/ftp
使用匿名登入時,所登入的目錄。默認值為/var/ftp。注意ftp目錄不能是777的權限屬性,即匿名用戶的家目錄不能有777的權限。
anon_upload_enable=YES/NO (NO)
如果設為YES,則允許匿名登入者有上傳文件(非目錄)的權限,只有在write_enable=YES時,此項才有效。當然,匿名用戶必須要有對上層目錄的寫入權。默認值為NO。
anon_world_readable_only=YES/NO (YES)
如果設為YES,則允許匿名登入者下載可閱讀的檔案(可以下載到本機閱讀,不能直接在FTP服務器中打開閱讀)。默認值為YES。
anon_mkdir_write_enable=YES/NO (NO)
如果設為YES,則允許匿名登入者有新增目錄的權限,只有在write_enable=YES時,此項才有效。當然,匿名用戶必須要有對上層目錄的寫入權。默認值為NO。
anon_other_write_enable=YES/NO (NO)
如果設為YES,則允許匿名登入者更多於上傳或者建立目錄之外的權限,譬如刪除或者重命名。(如果 anon_upload_enable=NO,則匿名用戶不能上傳文件,但可以刪除或者重命名已經存在的文件;如果 anon_mkdir_write_enable=NO,則匿名用戶不能上傳或者新建文件夾,但可以刪除或者重命名已經存在的文件夾。)默認值為NO。
chown_uploads=YES/NO (NO)
設置是否改變匿名用戶上傳文件(非目錄)的屬主。默認值為NO。
chown_username=username
設置匿名用戶上傳文件(非目錄)的屬主名。建議不要設置為root。
anon_umask=077
設置匿名登入者新增或上傳檔案時的umask 值。默認值為077,則新建檔案的對應權限為700。
deny_email_enable=YES/NO (NO)
若是啟動這項功能,則必須提供一個檔案/etc/vsftpd/banner_emails,內容為email address。若是使用匿名登入,則會要求輸入email address,若輸入的email address 在此檔案內,則不允許進入。默認值為NO。
banned_email_file=/etc/vsftpd/banner_emails
此文件用來輸入email address,只有在deny_email_enable=YES時,才會使用到此檔案。若是使用匿名登入,則會要求輸入email address,若輸入的email address 在此檔案內,則不允許進入。
4. 本地用戶設置
local_enable=YES/NO (YES)
控制是否允許本地用戶登入,YES 為允許本地用戶登入,NO為不允許。默認值為YES。
local_root=/home/username
當本地用戶登入時,將被更換到定義的目錄下。默認值為各用戶的家目錄。
write_enable=YES/NO (YES)
是否允許登陸用戶有寫權限。屬於全局設置,默認值為YES。
local_umask=022
本地用戶新增檔案時的umask 值。默認值為077。
file_open_mode=0755
本地用戶上傳檔案後的檔案權限,與chmod 所使用的數值相同。默認值為0666。
5. 歡迎語設置
dirmessage_enable=YES/NO (YES)
如果啟動這個選項,那麼使用者第一次進入一個目錄時,會檢查該目錄下是否有.message這個檔案,如果有,則會出現此檔案的內容,通常這個檔案會放置歡迎話語,或是對該目錄的說明。默認值為開啟。
message_file=.message
設置目錄消息文件,可將要顯示的信息寫入該文件。默認值為.message。
banner_file=/etc/vsftpd/banner
當使用者登入時,會顯示此設定所在的檔案內容,通常為歡迎話語或是說明。默認值為無。如果歡迎信息較多,則使用該配置項。
ftpd_banner=Welcome to BOB's FTP server
這裡用來定義歡迎話語的字符串,banner_file是檔案的形式,而ftpd_banner 則是字符串的形式。預設為無。
6. 控制用戶是否允許切換到上級目錄
在默認配置下,本地用戶登入FTP後可以使用cd命令切換到其他目錄,這樣會對系統帶來安全隱患。可以通過以下三條配置文件來控制用戶切換目錄。
chroot_list_enable=YES/NO (NO)
設置是否啟用chroot_list_file配置項指定的用戶列表文件。默認值為NO。
chroot_list_file=/etc/vsftpd.chroot_list
用於指定用戶列表文件,該文件用於控制哪些用戶可以切換到用戶家目錄的上級目錄。
chroot_local_user=YES/NO (NO)
用於指定用戶列表文件中的用戶是否允許切換到上級目錄。默認值為NO。
通過搭配能實現以下幾種效果:
①當chroot_list_enable=YES,chroot_local_user=YES時,在/etc/vsftpd.chroot_list文件中列出的用戶,可以切換到其他目錄;未在文件中列出的用戶,不能切換到其他目錄。
②當chroot_list_enable=YES,chroot_local_user=NO時,在/etc/vsftpd.chroot_list文件中列出的用戶,不能切換到其他目錄;未在文件中列出的用戶,可以切換到其他目錄。
③ 當chroot_list_enable=NO,chroot_local_user=YES時,所有的用戶均不能切換到其他目錄。
④ 當chroot_list_enable=NO,chroot_local_user=NO時,所有的用戶均可以切換到其他目錄。
7. 數據傳輸模式設置
FTP在傳輸數據時,可以使用二進制方式,也可以使用ASCII模式來上傳或下載數據。