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 #匿名上傳文件所屬用戶名
  • 本地用戶權限控制:

    • write_enable=YES #可以上傳(全局控制) 刪除,重命名

    • local_umask=022 #本地用戶上傳文件的umask

    • userlist_enable=YES #限制了/etc/vsftpd/user_list文件里的用戶不能訪問

    • local_root #設置一個本地用戶登錄后進入到的目錄

    • user_config_dir #設置用戶的單獨配置文件,用哪個帳戶登陸就用哪個帳戶命名,實現不同用戶不同權限

    • download_enable #限制用戶的下載權限

    • 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搭配能實現以下幾種效果:

  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相關的日志信息


免責聲明!

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



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