Linux - Vsftp之安裝和配置

襲冷發表於2014-11-25

一、簡介
    Windows下常用Ftp伺服器軟體: Serv-U、IIS、Filezilla;Linux下Ftp伺服器軟體:Vsftpd、Filezilla、wuftpd、proftpd 、pureftp

    Vsftp(Very Secure FTP)是一個基於GPL釋出的類Unix系統上使用的FTP伺服器軟體,是一款小巧而又易用FTP伺服器程式,Vsftpd 在安全性、高效能及穩定性三個方面有很好的表現。它提供的主要功能包括虛擬IP設定、虛擬使用者、Standalone、inetd操作模式、強大的單使用者設定能力及頻寬限流等。在安全方面,它從原理上修補了大多數Wu-FTP、ProFTP,乃至BSD-FTP的安裝缺陷,使用安全編碼技術解決了緩衝溢位問題,並能有效避免“globbing”型別的拒絕服務攻擊。


二、安裝

[root@localhost ~]# rpm -q vsftpd                  #查詢是否安裝Vsftp 
package vsftpd is not installed                    #提示沒有安裝 
[root@localhost ~]# yum list|grep vsftpd           #使用Yum安裝,需要配置好Yum才能使用,當然也可以從光碟映像安裝 
[root@localhost ~]# rpm -q vsftpd                  #再檢視是否安裝成功 
vsftpd-2.2.2-11.el6_3.1.x86_64                     #已經安裝成功

三、配置
[root@localhost ~]# rpm -qc vsftpd           #查詢vsftpd的配置檔案 
/etc/logrotate.d/vsftpd                      #日誌檔案 
/etc/pam.d/vsftpd                            #PAM認證檔案 
/etc/rc.d/init.d/vsftpd                      #服務啟動指令碼 
/etc/vsftpd                                  #Vsftpd配置檔案存放路徑 
/etc/vsftpd/ftpusers                         #禁止使用Vsftpd的使用者列表檔案 
/etc/vsftpd/user_list                        #禁止或允許使用Vsftpd的使用者列表檔案 
/etc/vsftpd/vsftpd.conf                      #主配置檔案 
/etc/vsftpd/vsftpd_conf_migrate.sh           #vsftpd操作的一些變數和設定 
/usr/sbin/vsftpd                             #Vsftpd執行程式 
/var/ftp                                     #匿名使用者目錄 
/var/ftp/pub                                 #預設匿名使用者存放檔案目錄

四、指令

    1、基礎引數設定

local_enable=YES                             #是否允許本地使用者訪問 
write_enable=YES                             #全域性配置使用者是否對Ftp伺服器有可寫(刪除和修改)許可權 
local_umask=022                              #使用者上傳的檔案許可權 
ls_recurse_enable=YES                        #是否允許遞迴 
listen=YES                                   #是否監聽 
listen_ipv6=YES                              #是否監聽Ipv6 
pam_service_name=vsftpd                      #設定PAM模組提供的認證服務所使用的配置檔名 
tcp_wrappers=YES                             #是否使用些方式作為訪問控制方式  
dirmessage_enable=YES                        #當使用者切換目錄,會顯示該目錄下的.message檔案中內容 
xferlog_enable=YES                           #記錄使用者所有上傳下載資訊 
connect_from_port_20=YES                     #確定埠連線是20埠 
chown_uploads=YES                            #是否允許改變上傳檔案的屬主,與下面配合使用 
chown_username=whoever                       #上傳檔案的屬主,whoever任何人 
xferlog_file=/var/log/xferlog                #將上傳下載資訊記錄到日誌 
xferlog_std_format=YES                       #日誌使用標準格式 
nopriv_user=ftpsecure                        #執行Vsftp需要非特權系統使用者 
async_abor_enable=YES                        #如果Ftp_client會下達“async abor”這個指令需要開啟 
ascii_upload_enable=YES                      #是否以ASCII方式傳輸資料 
ascii_download_enable=YES 
ftpd_banner=Welcome to blah FTP service.     #Ftp歡迎資訊 
deny_email_enable=YES                        #黑名單設定 
banned_email_file=/etc/vsftpd/banned_emails  #當上面一個選項開啟,可以設定哪些郵箱地址不能登入Ftp伺服器 

    2、匿名使用者設定

anonymous_enable=YES                         #是否允許匿名使用者訪問 
anon_upload_enable=YES                       #是否允許匿名使用者上傳檔案,須開啟全域性配置可寫許可權 
anon_mkdir_write_enable=YES                  #是否允許匿名使用者建立目錄 
anon_other_write_enable=YES                  #是否允許匿名使用者有寫入許可權 

    3、普通使用者設定

userlist_enable=yes                          #是否開啟使用者清單 注:開啟時匿名帳號不能登陸
userlist_deny=no                             #使用者清單中使用者是否拒絕訪問(是,則清單使用者不可登入,否則只有清單使用者可登入)
userlist_file=/etc/vsftpd/user_list          #檔案放置的路徑

    4、目錄禁錮設定

chroot_local_user=YES                        #設定禁錮使用者目錄(當no時只能在自己的目錄),與下面一項配合使用 
chroot_list_enable=YES                       #是否開啟chroot使用者清單 
chroot_list_file=/etc/vsftpd/chroot_list     #指定許可權名單位置,當禁錮目錄時該名單可以不受禁錮 

    5、效能安全設定

local_max_rate=0                             #本地使用者傳輸速度限制單位位元組,0為不限制 
anon_max_rate=0                              #匿名使用者傳輸速度限制單位位元組,0為不限制
idle_session_timeout=600                     #資料傳輸結束後,保持連線的超時時間 
data_connection_timeout=120                  #資料連線超時時間 
max_clients=100                              #同一時間允許客戶端最大連線數 
max_per_ip=10                                #允許同一IP在同一時間最大連線 
connect_timeout=60                           #客戶端嘗試連線命令通道超過60秒強制斷開 
pasv_enable=YES                              #是否啟動被動式聯機 
accept_timeout=60                            #當使用被動式進行資料傳輸時,如果主機啟用passive port並等待客戶端60秒無響應強制斷開 

    6、ssl加密設定

ssl_enable=YES 
ssl_tlsv1=YES 
ssl_sslv2=YES 
ssl_sslv3=YES 
allow_anon_ssl=NO 
force_local_data_ssl=YES 
force_local_logins_ssl=YES 
rsa_cert_file=/etc/vsftpd/ssl/vsftpd.crt 
rsa_private_key_file=/etc/vsftpd/ssl/vsftpd.key

五、參考

    http://www.it165.net/admin/html/201308/1674.html

    http://blog.chinaunix.net/uid-28476-id-2134671.html 

 

 

相關文章