VSFTPD 引數知多少(linux FTP 引數)

lhb_immortal發表於2014-12-27
      風雨夜,未可歇。獨自憑欄,愁緒斷腸耶。縱然晴空萬里處,何處落歸葉!
        --你奶奶個球啊,怎麼限制使用者訪問根目錄還沒限制成功呢!小雨你還稀里裡裡下個不停~讓不讓我回家了!
     問題無法處理的那一刻,你是否也會像我一樣,變成一個猴子~但是不活蹦亂跳了,只剩抓耳撓腮了!
     為了避免以後再出現這個問題。得學習,得總結,得成長,得吃飯~餓死我了!


先來看看VSFTP配置檔案中各引數的意義:


local_enable=YES               # 是否允許本地使用者登入  yes=允許 no= 不允許
write_enable=YES               # 是否允許登入FTP後的使用者,對FTP檔案系統進行更改,涉及到命令包括STOR, DELE, RNFR, RNTO, MKD, RMD, APPE 和 SITE等。
local_umask=022                # 新建的檔案的許可權 為022 0代表 chmod o-0 也就是擁有所有許可權 2 代表chmod o-2 代表沒有寫許可權


匿名使用者配置
anonymous_enable=YES           # 是否允許匿名登入      yes=允許 no= 不允許
ftp_username=ftp               # 設定ftp匿名登入時的使用者名稱,預設 ftp
no_anon_password=YES           # 匿名使用者登入不需要輸入密碼 預設 YES
deny_email_enable=YES          # 以banned_email_file裡面的電子郵件為密碼的匿名使用者不能登入
anon_root                      # 匿名使用者登入後的預設目錄,不設定,預設為/var/ftp
anon_upload_enable=YES         # 允許匿名登入使用者上傳檔案  預設NO
anon_mkdir_write_enable=YES    # 允許匿名登入使用者建立目錄  預設NO
anon_other_write_enable=NO     # 允許匿名使用者有較高的寫許可權包括 刪除目錄和重新命名等 預設NO
anon_world_readable_only=YES   # 允許匿名使用者下載可讀檔案  預設YES , 設定為yes時只能下載不能直接在Ftp中閱讀。
chown_uploads=YES              # 設定是否改變匿名使用者上傳檔案(非目錄)的屬主。預設值為NO。


其他全部使用者生效
dirmessage_enable=YES          # 進入目錄顯示歡迎資訊      預設NO
dirlist_enable=YES             # 是否允許使用者列出目錄等    預設 YES 如果設定為No ,所有列表命令都會返回"Permission denied"
dirmessage_enable=NO           # 進入新目錄時是否顯示目錄資訊  預設No.     
message_file=....              # 當dirmessage_enable=yes 時使用。進入新目錄時,指定返回哪個資訊檔案的內容
download_enable=YES            # 是否允許下載              預設YES
cmds_allowed                   # 以逗號分隔的方式列出允許執行的命令,如:cmds_allowed=ls,pwd,PASV,RETR 等,其中USER, PASS and QUIT 等不受限制
deny_file                       # 以{..,..,..,..}方式列出禁止訪問的檔案或者路徑,如deny_file={*.mp4,*.mov}  預設空


SSL加密協議相關設定
allow_anon_ssl=NO              # 是否允許SSL連線,啟用SSL後才可以使用此引數,預設NO
ssl_enable=NO                  # 是否啟用ssl 安全連線      預設NO 如果設定為yes,vsftpd將啟用openSSL,通過SSL支援安全連線和資料傳輸。
force_local_logins_ssl=YES     # 是否對非匿名使用者登入加密  預設yes
force_local_data_ssl=YES       # 是否對非匿名使用者傳輸加密  預設yes
force_anon_logins_ssl=NO       #匿名使用者登入時是否加密     預設為no
force_anon_data_ssl=NO         #匿名使用者資料傳輸時是否加密 預設為no
ssl_sslv2=NO                   # 是否開戶sslv2協議。       預設NO ,如果設定為yes,前提為ssl_enable=YES。
ssl_sslv3=NO                   # 是否開戶sslv3協議。       預設NO ,如果設定為yes,前提為ssl_enable=YES。
dsa_cert_file                  # 為ssl加密連線指定dsa證書位置 預設 無
ssl_ciphers                    # 是否指定加密方式          預設 DES-CBC3-SHA


日誌檔案
dual_log_enable=NO             # 是否啟用雙日誌            預設NO 如果設定為yes,則分別在/var/log/xferlog、var/log/vsftpd.log裡記錄日誌。前一個為wu-ftpd格式,可被通用工具分析,後一個為vsftpd的專用格式。
xferlog_enable=YES             # 啟用上傳和下傳的日誌 依賴 引數xferlog_std_format的設定
xferlog_std_format=YES         # 使用標準格式記錄上傳、下傳日誌
syslog_enable=NO               # 是否關閉vsftpd的日誌並記錄系統日誌   預設NO ,如果設定為YES,系統日誌會記錄到/var/log/vsftpd.log,而VSFTPD的日誌程式將停止。


傳輸模式
ascii_download_enable=YES      # 是否啟用ascii模式下載檔案 預設 NO
ascii_upload_enable=YES        # 是否啟用ascii模式上傳檔案 預設 NO
async_abor_enable=NO           # 是否啟用強制中止傳輸檔案  預設 NO 啟用此引數是為了避免中止傳輸時的客戶端掛死。只有特殊情況下才使用。
background=NO                  # 是否後臺啟動vsftpd監聽    預設 NO 啟用後,VSFTPD將監聽程式置於後臺,當訪問vsftpd服務時,console 會返回到shell 模式
check_shell=YES                # 檢測是否有可用的shell環境 預設 YES 
userlist_enable=YES            # 啟用user_list 檔案的檢查  預設 NO 為YES時檢查user_list檔案中的使用者列表,為NO 時不檢測該檔案
userlist_deny=NO               # 只有在userlist_enable 啟用時有效,預設YES . yes 表示user_list檔案中的使用者不允許登入ftp,NO表示只允許user_list檔案中的使用者登入FTP




超時設定
accept_timeout                 # 嘗試連線時間                                        預設 60   單位 秒
data_connection_timeout        # 資料傳輸延遲的最大時間,超過限制,會話將被終止      預設 300  單位 秒
idle_session_timeout           # ftp連線建立後,兩次ftp命令之間的時間間隔,超時會話將被終止   預設300 單位 秒


傳輸速率設定
anon_max_rate                  # 匿名使用者允許的最大傳輸速率                          預設 0    單位 位元組/秒
local_max_rate                 # 本地認證使用者的最大傳輸速率                          預設 0    單位 位元組/秒


使用者建立的檔案的許可權
anon_umask                     # 匿名使用者建立的檔案的預設許可權                        預設 022  0代表 chmod o-0 也就是擁有所有許可權 2 代表chmod o-w 代表沒有寫許可權
local_umask                    # 本地使用者建立的檔案的預設許可權                        預設 022  


連線數設定
max_clients                    # 允許的最大連線數                                    預設 0    
max_per_ip                     # 單個IP允許的最大連線數                              預設 0


埠設定
listen_port=21                 # FTP伺服器建立連線所偵聽的埠                       預設 21
ftp_data_port                  # 資料傳輸所使用的預設埠                            預設 20
connect_from_port_20=YES       # 指定FTP資料傳輸連線使用20埠                       預設 NO 。設定為NO時,則進行資料連線時,所使用的埠由ftp_data_port指定。
pasv_max_port=0                # passive 模式下資料傳輸使用的埠上限                預設 0
pasv_mim_port=0                # passive 模式下資料傳輸使用的埠下限                預設 0


使用者訪問許可權
chroot_list_enable=YES         # 是否改變使用者的根目錄(使用者登入後,預設是訪問使用者的家目錄,開啟後可指定到其他目錄) 預設 NO。 當設定為YES時,需要以root使用者做如下操作:
                                 mkdir /etc/vsftpd/userconf; 
                                 cat >>$username<                                  local_root=$path
                                 EOF
                                 說明 "$username" 是需要改變預設根目錄的使用者比如使用者 aaa,$path 為你想要使用者aaa預設訪問的路徑 ,比如/data/aaa,前提是這個路徑存在


控制使用者是否允許切換到上級目錄
chroot_list_enable=YES         # 設定是否啟用chroot_list_file配置項指定的使用者列表檔案。預設值為NO。
chroot_list_file=/etc/vsftpd/chroot_list #用於指定儲存使用者列表檔案,該檔案用於控制哪些使用者只可以訪問自己的根目錄,不可以訪問根路徑的上級路徑目錄。
chroot_local_user=YES          #用於指定使用者列表檔案中的使用者是否允許切換到上級目錄。預設值為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時,所有的使用者均可以切換到使用者根路徑的上級路徑。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25313300/viewspace-1381984/,如需轉載,請註明出處,否則將追究法律責任。

相關文章