ftp配置文件

vsftpd配置文件採用「#」做爲註釋符,以「#」開頭的行和空白行在解析時將被忽略,其他的行被視爲配置命令行,每一個配置命令的「=」兩邊不要留有空格。對於每一個配置命令,在配置文件中還列出了相關的配置說明,利用vi編輯器可實現對配置文件的編輯修改。方法以下:
     #vi /etc/vsftpd/vsftpd.conflinux

 

 

1.登陸和對匿名用戶的設置安全

 

write_enable=YES               //是否對登陸用戶開啓寫權限。屬全局性設置。默認NO
local_enable=YES               //是否容許本地用戶登陸FTP服務器。默認爲NO
anonymous_enable=YES          //設置是否容許匿名用戶登陸FTP服務器。默認爲YES
ftp_username=ftp                //定義匿名用戶的帳戶名稱,默認值爲ftp。
no_anon_password=YES             //匿名用戶登陸時是否詢問口令。設置爲YES,則不詢問。默 
認NO
anon_world_readable_only=YES   //匿名用戶是否容許下載可閱讀的文檔,默認爲YES。
   anon_upload_enable=YES      //是否容許匿名用戶上傳文件。只有在write_enable設置爲
YES時,該配置項纔有效。並且匿名用戶對相應的目錄必須有寫權限。默認爲NO。
anon_mkdir_write_enable=YES //是否容許匿名用戶建立目錄。只有在write_enable設置爲    YES時有效。且匿名用戶對上層目錄有寫入的權限。默認爲NO。
anon_other_write_enable=NO    //若設置爲YES,則匿名用戶會被容許擁有多於
上傳和創建目錄的權限,還會擁有刪除和改名權限。默認值爲NO。
 

2.設置歡迎信息服務器

用戶登陸FTP服務器成功後,服務器可向登陸用戶輸出預設置的歡迎信息。
ftpd_banner=Welcome to my FTP server. 
//該配置項用於設置比較簡短的歡迎信息。若歡迎信息較多,則可以使用banner_file配置項。
banner_file=/etc/vsftpd/banner     
//設置用戶登陸時,將要顯示輸出的文件。該設置項將覆蓋ftpd_banner的設置。
dirmessage_enable=YES         
//設置是否顯示目錄消息。若設置爲YES,則當用戶進入特定目錄(好比/var/ftp/linux)時,將顯示該目錄中的由message_file配置項指定的文件(.message)中的內容。
message_file=.message          //設置目錄消息文件。可將顯示信息存入該文件。該文件須要放在 相應的目錄(好比/var/ftp/linux)下session

 

3.設置用戶登陸後所在的目錄 
local_root=/var/ftp             
// 設置本地用戶登陸後所在的目錄。默認配置文件中沒有設置該項,此時用戶登陸FTP服務器後,所在的目錄爲該用戶的主目錄,對於root用戶,則爲/root目錄。
anon_root=/var/ftp            
//設置匿名用戶登陸後所在的目錄。若未指定,則默認爲/var/ftp目錄。app

 

4.控制用戶是否容許切換到上級目錄 
       在默認配置下,用戶可使用「cd..」命名切換到上級目錄。好比,若用戶登陸後所在的目錄爲/var/ftp,則在「ftp>」命令行 下,執行「cd..」命令後,用戶將切換到其上級目錄/var,若繼續執行該命令,則可進入Linux系統的根目錄,從而能夠對整個Linux的文件系統 進行操做。tcp

若設置了write_enable=YES,則用戶還可對根目錄下的文件進行改寫操做,會給系統帶來極大的安全隱患,所以,必須防止用戶切換到Linux的根目錄,相關的配置項以下:
chroot_list_enable=YES                    
// 設置是否啓用chroot_list_file配置項指定的用戶列表文件。設置爲YES則除了列在j/etc/vsftpd/chroot_list文件中的的賬號外,全部登陸的用戶均可以進入ftp根目錄以外的目錄。默認NO
chroot_list_file=/etc/vsftpd/chroot_list         
// 用於指定用戶列表文件,該文件用於控制哪些用戶能夠切換到FTP站點根目錄的上級目錄。
chroot_local_user=YES                    
// 用於指定用戶列表文件中的用戶,是否容許切換到上級目錄。默認NO
注意:要對本地用戶查看效果,需先設置local_root=/var/ftp編輯器

具體狀況有如下幾種:
1)當chroot_list_enable=YES,chroot_local_user=YES時,在/etc/vsftpd/chroot_list文件中列出的用戶,能夠切換到上級目錄;未在文件中列出的用戶,不能切換到站點根目錄的上級目錄。
2)當chroot_list_enable=YES,chroot_local_user=NO時,在/etc/vsftpd/chroot_list文件中列出的用戶,不能切換到站點根目錄的上級目錄;未在文件中列出的用戶,能夠切換到上級目錄。
3)當chroot_list_enable=NO,chroot_local_user=YES時,全部用戶均不能切換到上級目錄。
4)當chroot_list_enable=NO,chroot_local_user=NO時,全部用戶都可以切換到上級目錄。
5)當用戶不容許切換到上級目錄時,登陸後FTP站點的根目錄「/」是該FTP帳戶的主目錄,即文件的系統的/var/ftp目錄。spa

 

5.設置訪問控制 
(1)設置容許或不容許訪問的主機(見TBP14)
tcp_wrappers=YES用來設置vsftpd服務器是否與tcp wrapper相結合,進行主機的訪問控制。默認設置爲YES,vsftpd服務器會檢查/etc/hosts.allow和/etc /hosts.deny中的設置,以決定請求鏈接的主機是否容許訪問該FTP服務器。這兩個文件能夠起到簡易的防火牆功能。
好比,若要僅容許192.168.168.1~192.168.168.254的用戶,能夠訪問鏈接vsftpd服務器,則可在/etc/hosts.allow文件中添加如下內容:
vsftpd:192.168.168.0/255.255.255.0 :allow
all:all:deny命令行

(2)設置容許或不容許訪問的用戶
對用戶的訪問控制由/etc/vsftpd/user_list和/etc/vsftpd/ftpusers文件來控制實現。相關配置命令以下:
userlist_enable=YES     
// 決定/etc/vsftpd/user_list文件是否啓用生效。YES則生效,NO不生效。
userlist_deny=YES       
// 決定/etc/vsftpd/user_list文件中的用戶是容許訪問仍是不容許訪問。若設置爲YES,則/etc/vsftpd/user_list 文件中的用戶將不容許訪問FTP服務器;若設置爲NO,則只有vsftpd.user_list文件中的用戶,才能訪問FTP服務器。日誌

 

6.設置訪問速度 
anon_max_rate=0       
//設置匿名用戶所能使用的最大傳輸速度,單位爲b/s。若設置爲0,則不受速度限制,此爲默認值。
local_max_rate=0       
// 設置本地用戶所能使用的最大傳輸速度。默認爲0,不受限制。

 

7.定義用戶配置文件 
在vsftpd服務器中,不一樣用戶還可以使用不一樣的配置,這要經過用戶配置文件來實現。
user_config_dir=/etc/vsftpd/userconf //用於設置用戶配置文件所在的目錄。
設置了該配置項後,當用戶登陸FTP服務器時,系統就會到/etc/vsftpd/userconf目錄下讀取與當前用戶名相同的文件,並根據文件中的配 置命令,對當前用戶進行更進一步的配置。好比,利用用戶配置文件,可實現對不一樣用戶進行訪問的速度進行控制,在各用戶配置文件中,定義 local_max_rate配置,以決定該用戶容許的訪問速度。

 

8.與鏈接相關的設置 
listen=YES        
//設置vsftpd服務器是否以standalone模式運行。以standalone模式運行是一種較好的方式,此時listen必須設置爲YES, 此爲默認值,建議不要更改。不少與服務器運行相關的配置命令,須要此運行模式纔有效。若設置爲NO,則vsftpd不是以獨立的服務運行,要受 xinetd服務的管理控制,功能上會受限制。

max_clients=0
//設置vsftpd容許的最大鏈接數,默認爲0,表示不受限制。若設置爲150時,則同時容許有150個鏈接,超出的將拒絕創建鏈接。只有在以standalone模式運行時纔有效。

max_per_ip=0
// 設置每一個IP地址容許與FTP服務器同時創建鏈接的數目。默認爲0,不受限制。一般可對此配置進行設置,防止同一個用戶創建太多的鏈接。只有在以standalone模式運行時纔有效。

listen_address=IP地址        
//設置在指定的IP地址上偵聽用戶的FTP請求。若不設置,則對服務器所綁定的全部IP地址進行偵聽。只有在以standalone模式運行時纔有效。 對於只綁定了一個IP地址的服務器,不須要配置該項,默認狀況下,配置文件中沒有該配置項。若服務器同時綁定了多個IP地址,則應經過該配置項,指定在哪 個IP地址上提供FTP服務,即指定FTP服務器所使用的IP地址。
注意:設置此值先後,能夠經過netstat -tnl對比端口的監聽狀況

accept_timeout=60            
//設置創建被動(PASV)數據鏈接的超時時間,單位爲秒,默認值爲60。
connect_timeout=60    
// PORT方式下創建數據鏈接的超時時間,單位爲秒。
data_connection_timeout=300   
//設置創建FTP數據鏈接的超時時間,默認爲300秒。

idle_session_timeout=600      
//設置多長時間不對FTP服務器進行任何操做,則斷開該FTP鏈接,單位爲秒,默認爲600秒。即設置發呆的逾時時間,在這個時間內,若沒有數據傳送或指令的輸入,則會強行斷開鏈接。
pam_service_name=vsftpd     
//設置在PAM所使用的名稱,默認值爲vsftpd。

setproctitle_enable=NO|YES   
//設置每一個與FTP服務器的鏈接,是否以不一樣的進程表現出來,默認值爲NO,此時只有一個名爲vsftpd的進程。若設置爲YES,則每一個鏈接都會有一個vsftpd進程,使用「ps -ef|grep ftp」命令可查看到詳細的FTP鏈接信息。安全起見,建議關閉。

 

9.FTP工做方式與端口設置 
(1)FTP工做方式簡介
      FTP的工做方式有兩種,一種是PORT FTP,另外一種是PASV FTP。下面介紹其工做方式。
兩者的區別在於PORT FTP的數據傳輸端口是由FTP服務器指定的,而PASV FTP則是由FTP客戶端指定的,並且每次數據鏈接所使用的端口號都不一樣。正由於如此,因此在CuteFTP等FTP客戶端軟件中,其鏈接類型設置項中有PORT和PASV兩種選擇。

      當FTP服務器設置爲PASV工做模式時,客戶端也必須設置爲PASV鏈接類型。若客戶端鏈接類型設置爲PORT,則能創建FTP鏈接,但在執行ls或get等須要數據請求的命令時,將會出現無響應並最終報告沒法創建數據鏈接。

(2)與端口相關的配置
listen_port=21               
// 設置FTP服務器創建鏈接所偵聽的端口,默認值爲21。
鏈接非標準端口示例:ftp www.sunflower.org 7000
connect_from_port_20=YES   
// 默認值爲YES,指定FTP數據傳輸鏈接使用20端口。若設置爲NO,則進行數據鏈接時,所使用的端口由ftp_data_port指定。

ftp_data_port=20            
//設置PORT方式下FTP數據鏈接所使用的端口,默認值爲20。
pasv_enable=YES|NO        
//若設置爲YES,則使用PASV工做模式;若設置爲NO,使用PORT模式。默認爲YES,即便用PASV模式。
pasv_max_port=0            
//設置在PASV工做方式下,數據鏈接可使用的端口範圍的上界。默認值爲0,表示任意端口。
pasv_mim_port=0            
//設置在PASV工做方式下,數據鏈接可使用的端口範圍的下界。默認值爲0,表示任意端口。

 

10.設置傳輸模式 
FTP在傳輸數據時,可以使用二進制(Binary)方式,也可以使用ASCII模式來上傳或下載數據。
ascii_download_enable=YES //設置是否啓用ASCII模式下載數據。默認爲NO。
ascii_upload_enable=YES    //設置是否啓用ASCII模式上傳數據。默認爲NO。

 

11.設置上傳文檔的所屬關係和權限 
(1)設置匿名上傳文檔的屬主
chown_uploads=YES           
//用於設置是否改變匿名用戶上傳的文檔的屬主。默認爲NO。若設置爲YES,則匿名用戶上傳的文檔的屬主將被設置爲chown_username配置項所設置的用戶名。
chown_username=whoever     
//設置匿名用戶上傳的文檔的屬主名。只有chown_uploads=YES時纔有效。建議不要設置爲root用戶。 但系統默root

(2)新增文檔的權限設定
local_umask=022            
//設置本地用戶新增文檔的umask,默認爲022,對應的權限爲755。umask爲022,對應的二進制數爲000 010 010,將其取反爲111 101 101,轉換成十進制數,即爲權限值755,表明文檔的全部者(屬主)有讀寫執行權,所屬組有讀和執行權,其餘用戶有讀和執行權。022適合於大多數情 況,通常不須要更改。若設置爲077,則對應的權限爲700。
anon_umask=022               //設置匿名用戶新增文檔的umask。默認077
file_open_mode=0755          //設置上傳文檔的權限。權限採用數字格式。 默認0666

 

12.日誌文件 
xferlog_enable=YES             //是否啓用上傳/下載日誌記錄。默認爲NO
xferlog_file=var/log/vsftpd.log //設置日誌文件名及路徑。需啓用xferlog_enable選項
xferlog_std_format=YES           //日誌文件是否使用標準的xferlog日誌文件格式(與wu-ftpd使用的格式相同) 。默認爲NO

 

13.其餘設置 text_userdb_names=NO       //設置在執行ls命令時,是顯示UID、GID仍是顯示出具體的用戶名或組名稱。默認爲NO,以UID和GID方式顯示,若但願顯示用戶名和組名稱,則設置爲YES。ls_recurse_enable=YES       //若設置爲YES,則容許執行「ls –R」這個命令,默認值爲NO。在配置文件中該配置項被註釋掉了,與此相似的還有一些配置,須要啓用時,將註釋符去掉並進行YES或NO的設置便可

相關文章
相關標籤/搜索