VSFTP登錄慢解決


VSFTP連接時很慢,因為默認開啟了reverse_lookup(反向解析)。

  1. [root@yool ~]#man vsftpd.conf
  2.  
  3.        reverse_lookup_enable
  4.               Set to YES if you want vsftpd to transform the ip address  into  the  host-
  5.               name,  before  pam  authentication.  This  is  useful if you use pam_access
  6.               including the hostname. If you want vsftpd to run on the environment  where
  7.               the  reverse  lookup  for  some  hostname  is available and the name server
  8.               doesn't respond for a while, you should set this to NO to avoid  a  perfor-
  9.               mance issue.
  10.  
  11.               Default: YES

然后再vsftpd.conf中加上
reverse_lookup_enable=NO。

對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。

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。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM