vsftpd配置文件詳解
1.默認(rèn)配置:
1>允許匿名用戶和本地用戶登陸。
anonymous_enable=YES
local_enable=YES
2>匿名用戶使用的登陸名為ftp或anonymous,口令為空;匿名用戶不能離開匿名用戶家目錄/var/ftp,且只能下載不能上傳。
3>本地用戶的登錄名為本地用戶名,口令為此本地用戶的口令;本地用戶可以在自 己家目錄中進(jìn)行讀寫操作;本地用戶可以離開自家目錄切換至有權(quán)限訪問的其他目錄,并在權(quán)限允許的情況下進(jìn)行上傳/下載。
write_enable=YES
4>寫在文件/etc/vsftpd.ftpusers中的本地用戶禁止登陸。
2.配置文件格式:
vsftpd.conf 的內(nèi)容非常單純,每一行即為一項(xiàng)設(shè)定。若是空白行或是開頭為#的一行,將會(huì)被忽略。內(nèi)容的格式只有一種,如下所示
option=value
要注意的是,等號(hào)兩邊不能加空白。
3.匿名用戶(anonymous)設(shè)置
anonymous_enable=YES/NO(YES)
控制是否允許匿名用戶登入,YES 為允許匿名登入,NO 為不允許。默認(rèn)值為YES。
write_enable=YES/NO(YES)
是否允許登陸用戶有寫權(quán)限。屬于全局設(shè)置,默認(rèn)值為YES。
no_anon_password=YES/NO(NO)
若是啟動(dòng)這項(xiàng)功能,則使用匿名登入時(shí),不會(huì)詢問密碼。默認(rèn)值為NO。
ftp_username=ftp
定義匿名登入的使用者名稱。默認(rèn)值為ftp。
anon_root=/var/ftp
使用匿名登入時(shí),所登入的目錄。默認(rèn)值為/var/ftp。注意ftp目錄不能是777的權(quán)限屬性,即匿名用戶的家目錄不能有777的權(quán)限。
anon_upload_enable=YES/NO(NO)
如果設(shè)為YES,則允許匿名登入者有上傳文件(非目錄)的權(quán)限,只有在write_enable=YES時(shí),此項(xiàng)才有效。當(dāng)然,匿名用戶必須要有對(duì)上層目錄的寫入權(quán)。默認(rèn)值為NO。
anon_world_readable_only=YES/NO(YES)
如果設(shè)為YES,則允許匿名登入者下載可閱讀的檔案(可以下載到本機(jī)閱讀,不能直接在FTP服務(wù)器中打開閱讀)。默認(rèn)值為YES。
anon_mkdir_write_enable=YES/NO(NO)
如果設(shè)為YES,則允許匿名登入者有新增目錄的權(quán)限,只有在write_enable=YES時(shí),此項(xiàng)才有效。當(dāng)然,匿名用戶必須要有對(duì)上層目錄的寫入權(quán)。默認(rèn)值為NO。
anon_other_write_enable=YES/NO(NO)
如果設(shè)為YES,則允許匿名登入者更多于上傳或者建立目錄之外的權(quán)限,譬如刪除或者重命名。(如果anon_upload_enable=NO,則匿名用戶不能上傳文件,但可以刪除或者重命名已經(jīng)存在的文件;如果anon_mkdir_write_enable=NO,則匿名用戶不能上傳或者新建文件夾,但可以刪除或者重命名已經(jīng)存在的文件夾。)默認(rèn)值為NO。
chown_uploads=YES/NO(NO)
設(shè)置是否改變匿名用戶上傳文件(非目錄)的屬主。默認(rèn)值為NO。
chown_username=username
設(shè)置匿名用戶上傳文件(非目錄)的屬主名。建議不要設(shè)置為root。
anon_umask=077
設(shè)置匿名登入者新增或上傳檔案時(shí)的umask 值。默認(rèn)值為077,則新建檔案的對(duì)應(yīng)權(quán)限為700。
deny_email_enable=YES/NO(NO)
若是啟動(dòng)這項(xiàng)功能,則必須提供一個(gè)檔案/etc/vsftpd/banner_emails,內(nèi)容為email address。若是使用匿名登入,則會(huì)要求輸入email address,若輸入的email address 在此檔案內(nèi),則不允許進(jìn)入。默認(rèn)值為NO。
banned_email_file=/etc/vsftpd/banner_emails
此文件用來輸入email address,只有在deny_email_enable=YES時(shí),才會(huì)使用到此檔案。若是使用匿名登入,則會(huì)要求輸入email address,若輸入的email address 在此檔案內(nèi),則不允許進(jìn)入。
4.本地用戶設(shè)置
local_enable=YES/NO(YES)
控制是否允許本地用戶登入,YES 為允許本地用戶登入,NO為不允許。默認(rèn)值為YES。
local_root=/home/username
當(dāng)本地用戶登入時(shí),將被更換到定義的目錄下。默認(rèn)值為各用戶的家目錄。
write_enable=YES/NO(YES)
是否允許登陸用戶有寫權(quán)限。屬于全局設(shè)置,默認(rèn)值為YES。
local_umask=022
本地用戶新增檔案時(shí)的umask 值。默認(rèn)值為077。
file_open_mode=0755
本地用戶上傳檔案后的檔案權(quán)限,與chmod 所使用的數(shù)值相同。默認(rèn)值為0666。
5.歡迎語設(shè)置
dirmessage_enable=YES/NO(YES)
如果啟動(dòng)這個(gè)選項(xiàng),那么使用者第一次進(jìn)入一個(gè)目錄時(shí),會(huì)檢查該目錄下是否有.message這個(gè)檔案,如果有,則會(huì)出現(xiàn)此檔案的內(nèi)容,通常這個(gè)檔案會(huì)放置歡迎話語,或是對(duì)該目錄的說明。默認(rèn)值為開啟。
message_file=.message
設(shè)置目錄消息文件,可將要顯示的信息寫入該文件。默認(rèn)值為.message。
banner_file=/etc/vsftpd/banner
當(dāng)使用者登入時(shí),會(huì)顯示此設(shè)定所在的檔案內(nèi)容,通常為歡迎話語或是說明。默認(rèn)值為無。如果歡迎信息較多,則使用該配置項(xiàng)。
ftpd_banner=Welcome to BOB"s FTP server
這里用來定義歡迎話語的字符串,banner_file是檔案的形式,而ftpd_banner 則是字符串的形式。預(yù)設(shè)為無。
6.控制用戶是否允許切換到上級(jí)目錄
在默認(rèn)配置下,本地用戶登入FTP后可以使用cd命令切換到其他目錄,這樣會(huì)對(duì)系統(tǒng)帶來安全隱患。可以通過以下三條配置文件來控制用戶切換目錄。
chroot_list_enable=YES/NO(NO)
設(shè)置是否啟用chroot_list_file配置項(xiàng)指定的用戶列表文件。默認(rèn)值為NO。
chroot_list_file=/etc/vsftpd.chroot_list
用于指定用戶列表文件,該文件用于控制哪些用戶可以切換到用戶家目錄的上級(jí)目錄。
chroot_local_user=YES/NO(NO)
用于指定用戶列表文件中的用戶是否允許切換到上級(jí)目錄。默認(rèn)值為NO。
通過搭配能實(shí)現(xiàn)以下幾種效果:
①當(dāng)chroot_list_enable=YES,chroot_local_user=YES時(shí),在/etc/vsftpd.chroot_list文件中列出的用戶,可以切換到其他目錄;未在文件中列出的用戶,不能切換到其他目錄。
②當(dāng)chroot_list_enable=YES,chroot_local_user=NO時(shí),在/etc/vsftpd.chroot_list文件中列出的用戶,不能切換到其他目錄;未在文件中列出的用戶,可以切換到其他目錄。
③當(dāng)chroot_list_enable=NO,chroot_local_user=YES時(shí),所有的用戶均不能切換到其他目錄。
④當(dāng)chroot_list_enable=NO,chroot_local_user=NO時(shí),所有的用戶均可以切換到其他目錄。
7.數(shù)據(jù)傳輸模式設(shè)置
FTP在傳輸數(shù)據(jù)時(shí),可以使用二進(jìn)制方式,也可以使用ASCII模式來上傳或下載數(shù)據(jù)。
ascii_upload_enable=YES/NO(NO)
設(shè)置是否啟用ASCII 模式上傳數(shù)據(jù)。默認(rèn)值為NO。
ascii_download_enable=YES/NO(NO)
設(shè)置是否啟用ASCII 模式下載數(shù)據(jù)。默認(rèn)值為NO。
8.訪問控制設(shè)置
兩種控制方式:一種控制主機(jī)訪問,另一種控制用戶訪問。
①控制主機(jī)訪問:
tcp_wrappers=YES/NO(YES)
設(shè)置vsftpd是否與tcp wrapper相結(jié)合來進(jìn)行主機(jī)的訪問控制。默認(rèn)值為YES。如果啟用,則vsftpd服務(wù)器會(huì)檢查/etc/hosts.allow 和/etc/hosts.deny 中的設(shè)置,來決定請(qǐng)求連接的主機(jī),是否允許訪問該FTP服務(wù)器。這兩個(gè)文件可以起到簡(jiǎn)易的防火墻功能。
比如:若要僅允許192.168.0.1—192.168.0.254的用戶可以連接FTP服務(wù)器,則在/etc/hosts.allow文件中添加以下內(nèi)容:
vsftpd:192.168.0. :allow
all:all :deny
②控制用戶訪問:
對(duì)于用戶的訪問控制可以通過/etc目錄下的vsftpd.user_list和ftpusers文件來實(shí)現(xiàn)。
userlist_file=/etc/vsftpd.user_list
控制用戶訪問FTP的文件,里面寫著用戶名稱。一個(gè)用戶名稱一行。
userlist_enable=YES/NO(NO)
是否啟用vsftpd.user_list文件。
userlist_deny=YES/NO(YES)
決定vsftpd.user_list文件中的用戶是否能夠訪問FTP服務(wù)器。若設(shè)置為YES,則vsftpd.user_list文件中的用戶不允許訪問FTP,若設(shè)置為NO,則只有vsftpd.user_list文件中的用戶才能訪問FTP。
/etc/vsftpd/ftpusers文件專門用于定義不允許訪問FTP服務(wù)器的用戶列表(注意:如果userlist_enable=YES,userlist_deny=NO,此時(shí)如果在vsftpd.user_list和ftpusers中都有某個(gè)用戶時(shí),那么這個(gè)用戶是不能夠訪問FTP的,即ftpusers的優(yōu)先級(jí)要高)。默認(rèn)情況下vsftpd.user_list和ftpusers,這兩個(gè)文件已經(jīng)預(yù)設(shè)置了一些不允許訪問FTP服務(wù)器的系統(tǒng)內(nèi)部賬戶。如果系統(tǒng)沒有這兩個(gè)文件,那么新建這兩個(gè)文件,將用戶添加進(jìn)去即可。
9.訪問速率設(shè)置
anon_max_rate=0
設(shè)置匿名登入者使用的最大傳輸速度,單位為B/s,0 表示不限制速度。默認(rèn)值為0。
local_max_rate=0
本地用戶使用的最大傳輸速度,單位為B/s,0 表示不限制速度。預(yù)設(shè)值為0。
10.超時(shí)時(shí)間設(shè)置
accept_timeout=60
設(shè)置建立FTP連接的超時(shí)時(shí)間,單位為秒。默認(rèn)值為60。
connect_timeout=60
PORT 方式下建立數(shù)據(jù)連接的超時(shí)時(shí)間,單位為秒。默認(rèn)值為60。
data_connection_timeout=120
設(shè)置建立FTP數(shù)據(jù)連接的超時(shí)時(shí)間,單位為秒。默認(rèn)值為120。
idle_session_timeout=300
設(shè)置多長(zhǎng)時(shí)間不對(duì)FTP服務(wù)器進(jìn)行任何操作,則斷開該FTP連接,單位為秒。默認(rèn)值為300 。
11.日志文件設(shè)置
xferlog_enable= YES/NO(YES)
是否啟用上傳/下載日志記錄。如果啟用,則上傳與下載的信息將被完整紀(jì)錄在xferlog_file 所定義的檔案中。預(yù)設(shè)為開啟。
xferlog_file=/var/log/vsftpd.log
設(shè)置日志文件名和路徑,默認(rèn)值為/var/log/vsftpd.log。
xferlog_std_format=YES/NO(NO)
如果啟用,則日志文件將會(huì)寫成xferlog的標(biāo)準(zhǔn)格式,如同wu-ftpd 一般。默認(rèn)值為關(guān)閉。
log_ftp_protocol=YES|NO(NO)
如果啟用此選項(xiàng),所有的FTP請(qǐng)求和響應(yīng)都會(huì)被記錄到日志中,默認(rèn)日志文件在/var/log/vsftpd.log。啟用此選項(xiàng)時(shí),xferlog_std_format不能被激活。這個(gè)選項(xiàng)有助于調(diào)試。默認(rèn)值為NO。
12.定義用戶配置文件
在vsftpd中,可以通過定義用戶配置文件來實(shí)現(xiàn)不同的用戶使用不同的配置。
user_config_dir=/etc/vsftpd/userconf
設(shè)置用戶配置文件所在的目錄。當(dāng)設(shè)置了該配置項(xiàng)后,用戶登陸服務(wù)器后,系統(tǒng)就會(huì)到/etc/vsftpd/userconf目錄下,讀取與當(dāng)前用戶名相同的文件,并根據(jù)文件中的配置命令,對(duì)當(dāng)前用戶進(jìn)行更進(jìn)一步的配置。
例如:定義user_config_dir=/etc/vsftpd/userconf,且主機(jī)上有使用者 test1,test2,那么我們就在user_config_dir 的目錄新增文件名為test1和test2兩個(gè)文件。若是test1 登入,則會(huì)讀取user_config_dir 下的test1 這個(gè)檔案內(nèi)的設(shè)定。默認(rèn)值為無。利用用戶配置文件,可以實(shí)現(xiàn)對(duì)不同用戶進(jìn)行訪問速度的控制,在各用戶配置文件中定義local_max_rate=XX,即可。
13.FTP的工作方式與端口設(shè)置
FTP有兩種工作方式:PORT FTP(主動(dòng)模式)和PASV FTP(被動(dòng)模式)
listen_port=21
設(shè)置FTP服務(wù)器建立連接所監(jiān)聽的端口,默認(rèn)值為21。
connect_from_port_20=YES/NO
指定FTP使用20端口進(jìn)行數(shù)據(jù)傳輸,默認(rèn)值為YES。
ftp_data_port=20
設(shè)置在PORT方式下,F(xiàn)TP數(shù)據(jù)連接使用的端口,默認(rèn)值為20。
pasv_enable=YES/NO(YES)
若設(shè)置為YES,則使用PASV工作模式;若設(shè)置為NO,則使用PORT模式。默認(rèn)值為YES,即使用PASV工作模式。
pasv_max_port=0
在PASV工作模式下,數(shù)據(jù)連接可以使用的端口范圍的最大端口,0 表示任意端口。默認(rèn)值為0。
pasv_min_port=0
在PASV工作模式下,數(shù)據(jù)連接可以使用的端口范圍的最小端口,0 表示任意端口。默認(rèn)值為0。
14.與連接相關(guān)的設(shè)置
listen=YES/NO(YES)
設(shè)置vsftpd服務(wù)器是否以standalone模式運(yùn)行。以standalone模式運(yùn)行是一種較好的方式,此時(shí)listen必須設(shè)置為YES,此為默認(rèn)值。建議不要更改,有很多與服務(wù)器運(yùn)行相關(guān)的配置命令,需要在此模式下才有效。若設(shè)置為NO,則vsftpd不是以獨(dú)立的服務(wù)運(yùn)行,要受到xinetd服務(wù)的管控,功能上會(huì)受到限制。
max_clients=0
設(shè)置vsftpd允許的最大連接數(shù),默認(rèn)值為0,表示不受限制。若設(shè)置為100時(shí),則同時(shí)允許有100個(gè)連接,超出的將被拒絕。只有在standalone模式運(yùn)行才有效。
max_per_ip=0
設(shè)置每個(gè)IP允許與FTP服務(wù)器同時(shí)建立連接的數(shù)目。默認(rèn)值為0,表示不受限制。只有在standalone模式運(yùn)行才有效。
listen_address=IP地址
設(shè)置FTP服務(wù)器在指定的IP地址上偵聽用戶的FTP請(qǐng)求。若不設(shè)置,則對(duì)服務(wù)器綁定的所有IP地址進(jìn)行偵聽。只有在standalone模式運(yùn)行才有效。
setproctitle_enable=YES/NO(NO)
設(shè)置每個(gè)與FTP服務(wù)器的連接,是否以不同的進(jìn)程表現(xiàn)出來。默認(rèn)值為NO,此時(shí)使用ps aux |grep ftp只會(huì)有一個(gè)vsftpd的進(jìn)程。若設(shè)置為YES,則每個(gè)連接都會(huì)有一個(gè)vsftpd的進(jìn)程。
15.虛擬用戶設(shè)置
虛擬用戶使用PAM認(rèn)證方式。
pam_service_name=vsftpd
設(shè)置PAM使用的名稱,默認(rèn)值為/etc/pam.d/vsftpd。
guest_enable= YES/NO(NO)
啟用虛擬用戶。默認(rèn)值為NO。
guest_username=ftp
這里用來映射虛擬用戶。默認(rèn)值為ftp。
virtual_use_local_privs=YES/NO(NO)
當(dāng)該參數(shù)激活(YES)時(shí),虛擬用戶使用與本地用戶相同的權(quán)限。當(dāng)此參數(shù)關(guān)閉(NO)時(shí),虛擬用戶使用與匿名用戶相同的權(quán)限。默認(rèn)情況下此參數(shù)是關(guān)閉的(NO)。
16.其他設(shè)置
text_userdb_names= YES/NO(NO)
設(shè)置在執(zhí)行l(wèi)s –la之類的命令時(shí),是顯示UID、GID還是顯示出具體的用戶名和組名。默認(rèn)值為NO,即以UID和GID方式顯示。若希望顯示用戶名和組名,則設(shè)置為YES。
ls_recurse_enable=YES/NO(NO)
若是啟用此功能,則允許登入者使用ls –R(可以查看當(dāng)前目錄下子目錄中的文件)這個(gè)指令。默認(rèn)值為NO。
hide_ids=YES/NO(NO)
如果啟用此功能,所有檔案的擁有者與群組都為ftp,也就是使用者登入使用ls -al之類的指令,所看到的檔案擁有者跟群組均為ftp。默認(rèn)值為關(guān)閉。
download_enable=YES/NO(YES)
如果設(shè)置為NO,所有的文件都不能下載到本地,文件夾不受影響。默認(rèn)值為YES。
相關(guān)文章:
1. 關(guān)于Keytool配置 Tomcat的HTTPS雙向認(rèn)證的問題2. windows 時(shí)間服務(wù)器配置方法詳解3. nginx?反向代理負(fù)載均衡策略配置SSL訪問匹配規(guī)則優(yōu)先級(jí)4. vsftpd 出現(xiàn)530 and 500 錯(cuò)誤問題解決辦法5. linux proftpd-1.3.4c安裝配置實(shí)例6. nginx七層負(fù)載均衡配置詳解7. idea配置tomcat必坑指南圖文詳解8. Linux apache實(shí)現(xiàn)https的配置方法9. ApplicationHost.config(IIS存儲(chǔ)配置區(qū)文件)介紹10. Nginx配置ssl證書(https)的全過程
