vsftpd配置檔案詳解
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模式來上傳或下載資料。
ascii_upload_enable=YES/NO(NO)
設定是否啟用ASCII 模式上傳資料。預設值為NO。
ascii_download_enable=YES/NO(NO)
設定是否啟用ASCII 模式下載資料。預設值為NO。
8.訪問控制設定
兩種控制方式:一種控制主機訪問,另一種控制使用者訪問。
①控制主機訪問:
tcp_wrappers=YES/NO(YES)
設定vsftpd是
否與tcp wrapper相結合來進行主機的訪問控制。預設值為YES。如果啟用,則vsftpd伺服器會檢查/etc/hosts.allow
和/etc/hosts.deny 中的設定,來決定請求連線的主機,是否允許訪問該FTP伺服器。這兩個檔案可以起到簡易的防火牆功能。
比如:若要僅允許192.168.0.1—192.168.0.254的使用者可以連線FTP伺服器,則在/etc/hosts.allow檔案中新增以下內容:
vsftpd:192.168.0. :allow
all:all :deny
②控制使用者訪問:
對於使用者的訪問控制可以透過/etc目錄下的vsftpd/user_list和ftpusers檔案來實現。
userlist_file=/etc/vsftpd/user_list
控制使用者訪問FTP的檔案,裡面寫著使用者名稱稱。一個使用者名稱稱一行。
userlist_enable=YES/NO(NO)
是否啟用vsftpd/user_list檔案。
userlist_deny=YES/NO(YES)
決定vsftpd/user_list檔案中的使用者是否能夠訪問FTP伺服器。若設定為YES,則vsftpd/user_list檔案中的使用者不允許訪問FTP,若設定為NO,則只有vsftpd/user_list檔案中的使用者才能訪問FTP。
/etc/vsftpd/ftpusers檔案專門用於定義不允許訪問FTP伺服器的使用者列表(注意:
如果userlist_enable=YES,userlist_deny=NO,此時如果在vsftpd/user_list和ftpusers中都有
某個使用者時,那麼這個使用者是不能夠訪問FTP的,即ftpusers的優先順序要高)。預設情況下vsftpd/user_list和ftpusers,這
兩個檔案已經預設定了一些不允許訪問FTP伺服器的系統內部賬戶。如果系統沒有這兩個檔案,那麼新建這兩個檔案,將使用者新增進去即可。
9.訪問速率設定
anon_max_rate=0
設定匿名登入者使用的最大傳輸速度,單位為B/s,0 表示不限制速度。預設值為0。
local_max_rate=0
本地使用者使用的最大傳輸速度,單位為B/s,0 表示不限制速度。預設值為0。
10.超時時間設定
accept_timeout=60
設定建立FTP連線的超時時間,單位為秒。預設值為60。
connect_timeout=60
PORT 方式下建立資料連線的超時時間,單位為秒。預設值為60。
data_connection_timeout=120
設定建立FTP資料連線的超時時間,單位為秒。預設值為120。
idle_session_timeout=300
設定多長時間不對FTP伺服器進行任何操作,則斷開該FTP連線,單位為秒。預設值為300 。
11.日誌檔案設定
xferlog_enable= YES/NO(YES)
是否啟用上傳/下載日誌記錄。如果啟用,則上傳與下載的資訊將被完整紀錄在xferlog_file 所定義的檔案中。預設為開啟。
xferlog_file=/var/log/vsftpd.log
設定日誌檔名和路徑,預設值為/var/log/vsftpd.log。
xferlog_std_format=YES/NO(NO)
如果啟用,則日誌檔案將會寫成xferlog的標準格式,如同wu-ftpd 一般。預設值為關閉。
log_ftp_protocol=YES|NO(NO)
如果啟用此選項,所有的FTP請求和響應都會被記錄到日誌中,預設日誌檔案在/var/log/vsftpd.log。啟用此選項時,xferlog_std_format不能被啟用。這個選項有助於除錯。預設值為NO。
如果啟用此選項,所有的FTP請求和響應都會被記錄到日誌中,預設日誌檔案在/var/log/vsftpd.log。啟用此選項時,xferlog_std_format不能被啟用。這個選項有助於除錯。預設值為NO。
12.定義使用者配置檔案
在vsftpd中,可以透過定義使用者配置檔案來實現不同的使用者使用不同的配置。
user_config_dir=/etc/vsftpd/userconf
設定使用者配置檔案所在的目錄。當設定了該配置項後,使用者登陸伺服器後,系統就會到/etc/vsftpd/userconf目錄下,讀取與當前使用者名稱相同的檔案,並根據檔案中的配置命令,對當前使用者進行更進一步的配置。
例如:定義
user_config_dir=/etc/vsftpd/userconf,且主機上有使用者
test1,test2,那麼我們就在user_config_dir 的目錄新增檔名為test1和test2兩個檔案。若是test1
登入,則會讀取user_config_dir 下的test1
這個檔案內的設定。預設值為無。利用使用者配置檔案,可以實現對不同使用者進行訪問速度的控制,在各使用者配置檔案中定義local_max_rate=XX,
即可。
13.FTP的工作方式與埠設定
FTP有兩種工作方式:PORT FTP(主動模式)和PASV FTP(被動模式)
listen_port=21
設定FTP伺服器建立連線所監聽的埠,預設值為21。
connect_from_port_20=YES/NO
指定FTP使用20埠進行資料傳輸,預設值為YES。
ftp_data_port=20
設定在PORT方式下,FTP資料連線使用的埠,預設值為20。
pasv_enable=YES/NO(YES)
若設定為YES,則使用PASV工作模式;若設定為NO,則使用PORT模式。預設值為YES,即使用PASV工作模式。
pasv_max_port=0
在PASV工作模式下,資料連線可以使用的埠範圍的最大埠,0 表示任意埠。預設值為0。
pasv_min_port=0
在PASV工作模式下,資料連線可以使用的埠範圍的最小埠,0 表示任意埠。預設值為0。
14.與連線相關的設定
listen=YES/NO(YES)
設定vsftpd服
務器是否以standalone模式執行。以standalone模式執行是一種較好的方式,此時listen必須設定為YES,此為預設值。建議不要更
改,有很多與伺服器執行相關的配置命令,需要在此模式下才有效。若設定為NO,則vsftpd不是以獨立的服務執行,要受到xinetd服務的管控,功能
上會受到限制。
max_clients=0
設定vsftpd允許的最大連線數,預設值為0,表示不受限制。若設定為100時,則同時允許有100個連線,超出的將被拒絕。只有在standalone模式執行才有效。
max_per_ip=0
設定每個IP允許與FTP伺服器同時建立連線的數目。預設值為0,表示不受限制。只有在standalone模式執行才有效。
listen_address=IP地址
設定FTP伺服器在指定的IP地址上偵聽使用者的FTP請求。若不設定,則對伺服器繫結的所有IP地址進行偵聽。只有在standalone模式執行才有效。
setproctitle_enable=YES/NO(NO)
設定每個與FTP伺服器的連線,是否以不同的程式表現出來。預設值為NO,此時使用ps aux |grep ftp只會有一個vsftpd的程式。若設定為YES,則每個連線都會有一個vsftpd的程式。
15.虛擬使用者設定
虛擬使用者使用PAM認證方式。
pam_service_name=vsftpd
設定PAM使用的名稱,預設值為/etc/pam.d/vsftpd。
guest_enable= YES/NO(NO)
啟用虛擬使用者。預設值為NO。
guest_username=ftp
這裡用來對映虛擬使用者。預設值為ftp。
virtual_use_local_privs=YES/NO(NO)
當該引數啟用(YES)時,虛擬使用者使用與本地使用者相同的許可權。當此引數關閉(NO)時,虛擬使用者使用與匿名使用者相同的許可權。預設情況下此引數是關閉的(NO)。
16.其他設定
text_userdb_names= YES/NO(NO)
設定在執行ls –la之類的命令時,是顯示UID、GID還是顯示出具體的使用者名稱和組名。預設值為NO,即以UID和GID方式顯示。若希望顯示使用者名稱和組名,則設定為YES。
ls_recurse_enable=YES/NO(NO)
若是啟用此功能,則允許登入者使用ls –R(可以檢視當前目錄下子目錄中的檔案)這個指令。預設值為NO。
hide_ids=YES/NO(NO)
如果啟用此功能,所有檔案的擁有者與群組都為ftp,也就是使用者登入使用ls -al之類的指令,所看到的檔案擁有者跟群組均為ftp。預設值為關閉。
download_enable=YES/NO(YES)
如果設定為NO,所有的檔案都不能下載到本地,資料夾不受影響。預設值為YES。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29812844/viewspace-1988801/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux下vsftpd的配置檔案的引數詳解LinuxFTP
- vsftpd.conf 配置詳解FTP
- redis 配置檔案詳解Redis
- haproxy配置檔案詳解
- redis配置檔案詳解Redis
- SSH配置檔案詳解
- zookeeper配置檔案詳解
- nginx配置檔案詳解Nginx
- WCF配置檔案詳解
- Nginx的配置檔案詳解Nginx
- vim的配置檔案詳解
- Hibernate配置檔案詳解
- BIND配置檔案詳解(三)
- Spring 配置檔案詳解Spring
- Nagios配置檔案詳解iOS
- spring配置檔案詳解Spring
- Nginx 配置檔案引數詳解Nginx
- 屬性配置檔案詳解(2)
- Docker Compose 配置檔案詳解Docker
- MyBatis--主配置檔案詳解MyBatis
- influx詳解(二):配置檔案UX
- Struts配置檔案詳細講解
- redis配置檔案引數詳解Redis
- Mysql配置檔案my.ini配置項詳解MySql
- MyBatis 核心配置檔案詳細內容詳解MyBatis
- linux的啟動配置檔案inittab檔案詳解Linux
- PHP配置檔案詳解php.iniPHP
- nginx.conf 配置檔案詳解Nginx
- Tomcat 的 Server 檔案配置詳解!!!TomcatServer
- linux網路卡配置檔案詳解Linux
- Python之ini配置檔案詳解Python
- git config配置檔案詳解Git
- Maven pom.xml檔案配置詳解MavenXML
- MySQL 配置檔案 (my.ini) 詳解MySql
- sysctl.conf檔案配置詳解
- compose配置檔案引數詳解
- resin配置檔案的詳細解釋
- log4j配置檔案詳解