vsftpd配置詳解

  • 匿名用戶權限控制:
    • anonymous_enable=YES   #是否啓用匿名用戶
    • no_anon_password=YES   #匿名用戶login時不詢問口令
    • anon_upload_enable=(yes/no); #控制匿名用戶對文件(非目錄)上傳權限
    • anon_world_readable_only=(yes/no); #控制匿名用戶對文件的下載權限
    • anon_mkdir_write_enable=(yes/no); #控制匿名用戶對文件夾的建立權限
    • anon_other_write_enable=(yes/no); #控制匿名用戶對文件和文件夾的刪除和重命名
    • write_enable=YES #全局設置,是否允許寫入(不管是匿名用戶仍是本地用戶,若要啓用上傳權限的話,就要開啓它)
    • anon_root=(none) #匿名用戶主目錄
    • anon_max_rate=(0) #匿名用戶速度限制
    • anon_umask=(077) #匿名用戶上傳文件時有掩碼(若想讓匿名用戶上傳的文件能直接被匿名下載,就這設置這裏爲073)
    • chown_uploads=YES #全部匿名上傳的文件的所屬用戶將會被更改爲chown_username
    • chown_username=whoever #匿名上傳文件所屬用戶名
  • 本地用戶權限控制:web

    • write_enable=YES #能夠上傳(全局控制) 刪除,重命名
    • local_umask=022 #本地用戶上傳文件的umask
    • userlist_enable=YES #限制了/etc/vsftpd/user_list文件裏的用戶不能訪問
    • local_root #設置一個本地用戶登陸後進入到的目錄
    • user_config_dir #設置用戶的單獨配置文件,用哪一個賬戶登錄就用哪一個賬戶命名,實現不一樣用戶不一樣權限
    • download_enable #限制用戶的下載權限shell

    • chown_uploads=YES #全部匿名上傳的文件的所屬用戶將會被更改爲chown_username
    • chown_username=whoever #匿名上傳文件所屬用戶名
    • chroot_local_user=YES/NO #是否禁止用戶離開設置的根目錄安全

    • chroot_list_enable=YES #若是啓動這項功能,則全部列在chroot_list_file之中的使用者不能更改根目錄
    • chroot_list_file=/etc/vsftpd/chroot_list #指出被鎖定在自家目錄中的用戶的列表文件。服務器

  • chroot_list_enable=YES經過與chroot_local_user=YES/NO搭配能實現如下幾種效果:session

  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時,全部的用戶都可以切換到其餘目錄。
  • 虛擬用戶設置:
    • pam_service_name=vsftpd #設置PAM使用的名稱,默認值爲/etc/pam.d/vsftpd。
    • check_shell=YES #(注意:僅在沒有pam驗證版本時有用,是否檢查用戶有一個有效的shell來登陸 )
    • guest_enable= YES/NO #啓用虛擬用戶。默認值爲NO。
    • guest_username=ftp #這裏設置虛擬用戶的宿主用戶。默認值爲ftp。
    • virtual_use_local_privs=YES/NO #當該參數激活(YES)時,虛擬用戶與其宿主用戶有相同的權限。 當此參數關閉(NO)時,虛擬用戶與匿名用戶有相同的權限。默認狀況下此參數是關閉的(NO)。
  • 超時設置:
    • idle_session_timeout=600 #空閒鏈接超時
    • data_connection_timeout=120 #數據傳輸超時
    • ACCEPT_TIMEOUT=60 #PASV請求超時
    • connect_timeout=60 #PROT模式鏈接超時
  • 服務器功能選項:
    • xferlog_enable=YES   #開啓日記功能
    • xferlog_std_format=YES   #使用標準格式
    • log_ftp_protocol=NO   #當xferlog_std_format關閉且本選項開啓時,記錄全部ftp請求和回覆,當調試比較有用.
    • pasv_enable=YES   #容許使用pasv模式
    • pasv_promiscuous+NO   #關閉安全檢查,當心呀.
    • port_enable=YES   #容許使用port模式
    • prot_promiscuous   #關閉安全檢查
    • tcp_wrappers=YES   #開啓tcp_wrappers支持
    • pam_service_name=vsftpd   #定義PAM 所使用的名稱,預設爲vsftpd。
    • nopriv_user=nobody   #當服務器運行於最底層時使用的用戶名
    • pasv_address=(none)   #使vsftpd在pasv命令回覆時跳轉到指定的IP地址.
  • 服務器性能選項:
    • ls_recurse_enable=YES #是否能使用ls -R命令以防止浪費大量的服務器資源
    • one_process_model #是否使用單進程模式
    • listen=YES #綁定到listen_port指定的端口,既然都綁定了也就是每時都開着的,就是那個什麼standalone模式
    • text_userdb_names=NO #當使用者登入後使用ls -al 之類的指令查詢該檔案的管理權時,預設會出現擁有者的UID,而不是該檔案擁有者的名稱。如果但願出現擁有者的名稱,則將此功能開啓。
    • use_localtime=NO   #顯示目錄清單時是用本地時間仍是GMT時間,能夠經過mdtm命令來達到同樣的效果
    • use_sendfile=YES   #測試平臺優化
  • 信息類設置:
    • ftpd_banner=welcome to FTP .  #login時顯示歡迎信息.若是設置了banner_file則此設置無效
    • dirmessage_enable=YES   #容許爲目錄配置顯示信息,顯示每一個目錄下面的message_file文件的內容
    • setproctitle_enable=YES   #顯示會話狀態信息,關!
  • 文件定義:
    • chroot_list_file=/etc/vsftpd/vsftpd.chroot_list #定義限制/容許更改用戶主目錄的文件
    • userlist_file=/etc/vsftpd/vsftpd.user_list #定義限制/容許用戶登陸的文件
    • banner_file=/etc/vsftpd/banner #定義登陸信息文件的位置
    • banned_email_file=/etc/vsftpd/banned_emails #禁止使用的匿名用戶登錄時做爲密碼的電子郵件地址
    • xferlog_file=/var/log/vsftpd.log #日誌文件位置
    • message_file=.message #目錄信息文件
  • 目錄定義:
    • user_config_dir=/etc/vsftpd/userconf  #定義用戶配置文件的目錄
    • local_root=webdisk #此項設置每一個用戶登錄後其根目錄爲/home/username/webdisk。定義本地用戶登錄的根目錄,注意定義根目錄能夠是相對路徑也能夠是絕對路徑。相對路徑是針對用戶家目錄來講的.
    • anon_root=/var/ftp   #匿名用戶登錄後的根目錄
  • 用戶鏈接選項:
    • max_clients=100   #可接受的最大client數目
    • max_per_ip=5   #每一個ip的最大client數目
    • connect_from_port_20=YES   #使用標準的20端口來鏈接ftp
    • listen_address=192.168.0.2   #綁定到某個IP,其它IP不能訪問,多網卡多IP機器時有用
    • listen_port=2121   #綁定到某個端口
    • ftp_data_port=2020   #數據傳輸端口
    • pasv_max_port=0   #pasv鏈接模式時可使用port 範圍的上界,0 表示任意。默認值爲0。
    • pasv_min_port=0   #pasv鏈接模式時可使用port 範圍的下界,0 表示任意。默認值爲0。
  • 數據傳輸選項、vsftp限速:
    • anon_max_rate=51200 #匿名用戶的傳輸比率(b/s)
    • local_max_rate=5120000 #本地用戶的傳輸比率(b/s)
  • 安全選項:
    • Idle_session_timeout=600 #(用戶會話空閒後10分鐘斷)
    • Data_connection_timeout=120 #(將數據鏈接空閒2分鐘斷)
    • Accept_timeout=60 #(將客戶端空閒1分鐘後斷)
    • Connect_timeout=60 #(中斷1分鐘後又從新鏈接)
    • Local_max_rate=50000 #(本地用戶傳輸率50K)
    • Anon_max_rate=30000 # (匿名用戶傳輸率30K)
    • Max_clients=200 #(FTP的最大鏈接數)
    • Max_per_ip=4 #(每IP的最大鏈接數)
    • Listen_port=5555 #(從5555端口進行數據鏈接)
  • SSL相關選項:
    • ssl_enable=yes/no //是否啓用 SSL,默認爲no
    • allow_anon_ssl=yes/no //是否容許匿名用戶使用SSL,默認爲no
    • force_anon_logins_ssl=yes/no //匿名用戶登陸時是否加密,默認爲no
    • force_anon_data_ssl=yes/no //匿名用戶數據傳輸時是否加密,默認爲no
    • force_local_logins_ssl=yes/no //非匿名用戶登錄時是否加密,默認爲yes
    • force_local_data_ssl=yes/no //非匿名用戶傳輸數據時是否加密,默認爲yes
    • rsa_cert_file=/path/to/file //rsa證書的位置
    • dsa_cert_file=/path/to/file //dsa證書的位置
    • ssl_sslv2=yes/no //是否激活sslv2加密,默認no
    • ssl_sslv3=yes/no //是否激活sslv3加密,默認no
    • ssl_tlsv1=yes/no //是否激活tls v1加密,默認yes
    • ssl_ciphers=加密方法 //默認是DES-CBC3-SHA,也能夠是值HIGH,安全性更加好。相關的值,能夠用man ciphers在幫組文檔中找到
    • implicit_ssl=YES // 是否啓用隱式ssl功能
    • listen_port=990 // 隱式ftp端口設置,若是不設置,默認仍是21,可是當客戶端以隱式ssl鏈接時,默認會使用990端口,致使鏈接失敗!!
    • debug_ssl=YES // 輸出ssl相關的日誌信息
相關文章
相關標籤/搜索