/etc/vsftpd.conf詳解

来源:https://www.cnblogs.com/qianyuliang/archive/2018/01/19/8317890.html
-Advertisement-
Play Games

#################匿名許可權控制############### anonymous_enable=YES #是否啟用匿名用戶no_anon_password=YES #匿名用戶login時不詢問口令下麵這四個主要語句控制這文件和文件夾的上傳、下載、創建、刪除和重命名。anon_uplo ...


#################匿名許可權控制###############


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); #控制匿名用戶對文件和文件夾的刪除和重命名
註:匿名用戶下載是使用的是nobody這個用戶,所以相應的O這個位置要有R許可權才能被下載。若想讓匿名用戶能上傳和刪除許可權,必需設置
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 為本地用戶設置文件創建的umask值。Default: 077
userlist_enable=YES 限制了這裡的用戶不能訪問。如果啟用,vsftpd將從userlist文件給出的文件名中載入一個userlist_file,如果用戶試圖使用該文件中的名稱登錄,則在請求密碼之前將被拒絕。
local_root 設置一個本地用戶登錄後進入到的目錄
user_config_dir 設置用戶的單獨配置文件,用哪個帳戶登陸就用哪個帳戶命名
download_enable 限制用戶的下載許可權。 Default: YES,如果設置NO,所有的下載請求都會被拒絕。
chroot_list_enable=YES 如果啟動這項功能,則所有列在chroot_list_file之中的使用者不能更改主目錄。如果激活,可能會提供一個本地用戶的列表(chroot_list_file),這些用戶在登錄時被放置在他們的主目錄的chroot()監獄中。如果將chroot_local_user設置為YES,則含義略有不同。在這種情況下,列表變成了不被放置在chroot()監獄中的用戶列表。預設情況下,包含此列表的文件是/etc/vsftpd/chroot_list,但您可以使用chroot_list_file設置覆蓋它。Default: NO
chroot_local_user 如果設置為YES,本地用戶將(預設情況下)在登錄後在其主目錄中放入chroot()監獄。警告:此選項具有安全含義,特別是當用戶有上傳許可權或shell訪問時。只有當你知道自己在做什麼時,才會去做。請註意,這些安全含義不是vsftpd特有的。它們適用於所有的FTP守護進程,它們可以將本地用戶放在chroot() jails中。 Default: NO
chroot_list_file=/etc/vsftpd/chroot_list 指定限制的用戶文件
user_config_dir= 後面跟存放配置文件的目錄。用來實現不同用戶不同許可權。#在vsftpd.conf文件中加入這一句, #在相應的目錄裡面,為每個用戶創建自己的配置文件,用來實現不同的許可權

 

可以通過以下三條配置文件來控制用戶切換目錄。


chroot_list_enable=YES/NO   #設置是否啟用chroot_list_file配置項指定的用戶列表文件。
      #如果啟動這項功能,則所有列在chroot_list_file之中的使用者不能更改根目錄 .預設值為yes。
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時,所有的用戶均可以切換到其他目錄。

舉個例子:
假設有ftp1, ftp2兩個ftp用戶, 計劃讓ftp1用戶鎖定在主目錄下,不允許切換到其他目錄, 但是允許ftp2用戶自由切換目錄,則可以分如下兩種方式實現:
方式一:
令:
chroot_local_user=YES
chroot_list_enable=YES
/etc/vsftpd/chroot_list名單列表為:
ftp2

解釋:chroot_local_user=YES將所有用戶限定在主目錄內,chroot_list_enable=YES表示要啟用chroot_list_file, 因為chroot_local_user=YES,即全體用戶都被“限定在主目錄內”,所以總是作為“例外列表”的chroot_list_file這時列出的是那些“不會被限制在主目錄下”的用戶。

方式二:
令:
chroot_local_user=NO
chroot_list_enable=YES
/etc/vsftpd/chroot_list名單列表為:
ftp1

解釋:chroot_local_user=NO則所有用戶不被限定在主目錄內,chroot_list_enable=YES表示要啟用chroot_list_file, 因為chroot_local_user=NO,即全體用戶都“不被限定在主目錄內”,所以總是作為“例外列表”的chroot_list_file這時列出的是那些“會被限制在主目錄下”的用戶。

其他情況:
對於chroot_local_user和chroot_list_enable的組合還有這樣兩種情況:
chroot_local_user=YES
chroot_list_enable=NO

chroot_local_user=NO
chroot_list_enable=NO

當chroot_list_enable=NO時,就不再啟用chroot_list_file,此時就是單純的把全部用戶限定或不限定在主目錄下了!

#################虛擬用戶設置#################

虛擬用戶使用PAM認證方式。

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)。

 

#################訪問控制設置#################

兩種控制方式:一種控制主機訪問,另一種控制用戶訪問。
1、控制主機訪問:
tcp_wrappers=YES/NO
設置vsftpd是否與tcp wrapper相結合來進行主機的訪問控制。預設值為YES。如果啟用,則vsftpd伺服器會檢查/etc/hosts.allow 和/etc/hosts.deny 中的設置,來決定請求連接的主機,是否允許訪問該FTP伺服器。這兩個文件可以起到簡易的防火牆功能。
比如:若要僅允許192.168.10.1—192.168.10.254的用戶可以連接FTP伺服器,
則在
/etc/hosts.allow
/etc/hosts.deny
文件中添加以下內容:

其格式如下:
限制的服務:ip(網段)
vsftpd:192.168.1.
vsftpd:192.168.1.12
vsftpd:192.168.1.0/255.255.255.0這裡不能寫成192.168.1.0/24
2、控制用戶訪問:
vsftpd.ftpusers  #用於保存不允許進行FTP登錄的本地用戶帳號。就是vsftp用戶的黑名單
vsftpd.user_list
(1)設置禁止vsftpd.user_list文件中的用戶登錄:要在主配置文件vsftpd.conf中修改如下兩項,
userlist_enable=yes
userlist_deny=yes
說明:配置完以後,除了vsftpd.ftpusers文件和vsftpd.user_list文件中記錄的ftp用戶不能登錄vsftp服務以外,其他的ftp用戶都可以登錄。
(2)設置只允許vsftpd.user_list文件中的用戶登錄;同樣的道理要把主配置文件vsftpd.conf 中的語句修改如下兩項:
userlist_enable=yes
userlist_deny=no
 說明:配置完以後,只允許vsftpd.user_list文件中記錄的ftp用戶能登錄vsftp服務,其他的ftp用戶都不可以登錄。
 

###################超時設置##################

idle_session_timeout=600 #空閑連接超時
data_connection_timeout=120 #數據傳輸超時
ACCEPT_TIMEOUT=60 #PAVS請求超時
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模式
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不能訪問
listen_port=2121 #綁定到某個埠
ftp_data_port=2020  #數據傳輸埠
pasv_max_port=0 #pasv連接模式時可以使用port 範圍的上界,0 表示任意。預設值為0。
pasv_min_port=0 #pasv連接模式時可以使用port 範圍的下界,0 表示任意。預設值為0。

 

 

 

 

 

#############數據傳輸選項#################

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)
Pasv_min_port=50000 #將客戶端的數據連接埠最小為50000
Pasv_max_port=60000 #將客戶端的數據連接埠最小大為60000
Max_clients=200 #(FTP的最大連接數)
Max_per_ip=4 #(每IP的最大連接數)
Listen_port=5555 #(從5555埠進行數據連接)



 

 

 

 

 

 

 

 

 

有什麼錯誤請各位讀者指出,謝謝!!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 轉自https://www.cnblogs.com/zuowj/archive/2015/05/04/4475663.html轉別人的,做了一點點改動 樣式類 ...
  • "返回目錄" "原文地址Java" equals() 方法總結 equals() 超類 Object 中有這個 equals() 方法,該方法主要用於比較兩個對象是否相等。該方法的源碼如下: 我們知道所有的對象都擁有標識(記憶體地址)和狀態(數據), 同時“==”比較兩個對象的的記憶體地址 ,所以說使用 ...
  • iptables規則持久化 設定防火牆規則 保存防火牆規則 設定開機自動恢復iptables規則 手動生成一些iptables規則 查看iptables規則是否生效 設定關機時自動保存iptables規則 創建關機時要執行的腳本,並且確保其有執行許可權 創建軟連接文件至rcN.d路徑下,N為運行等級 ...
  • > Vim from zero to hero - Vim 從入門到精通- 原文地址:- 原文作者:Marco Hinz- [簡介](#簡介) - [什麼是 Vim?](#什麼是-vim) - [Vim 哲學](#vim-哲學) - [入門](#入門) - [精簡的 vimrc](#精簡的-vimr... ...
  • 在應用程式中,很多時候都會調用到系統調用來完成一些操作,可是系統調用是在內核態下才能調用,用戶態下的應用程式是無法直接調用到的,那麼操作系統是怎麼處理這一過程的呢? 本文的環境是基於Linux 0.11,沒有查證現代操作系統是否有所變化,不過基本思路應該差不多。 過程: 先來看一張圖,有個大概的理解 ...
  • https://github.com/ma6174/vim-deprecated 簡易安裝方法: 打開終端,執行下麵的命令就自動安裝好了: wget -qO- https://raw.github.com/ma6174/vim/master/setup.sh | sh -x 或者自己手動安裝:(以u ...
  • 首先貼出今天要與大家分享的內容源碼(位於內核源碼的 os_cpu_a.asm 中):PendSV_Handler CPSID I MRS R0, PSP CBZ R0, PendSV_Handler_Nosave SUBS R0, R0, #0x20 STM R0, {R4-R11} LDR R1, ...
  • 最近剛接觸Linux系統,現在以一個初學者的角度總結一下vim命令 Vim的四種模式 一.啟動Vim 1.雙擊桌面的圖標,就可以啟動Vim(是圖形界面的) 2.在開始菜單 點--運行 接著輸入 vim 或者gvim,就可以啟動Vim或Gvim了. 3.在命令行視窗中輸入以下命令即可: vim 直接啟 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 在我們開發過程中基本上不可或缺的用到一些敏感機密數據,比如SQL伺服器的連接串或者是OAuth2的Secret等,這些敏感數據在代碼中是不太安全的,我們不應該在源代碼中存儲密碼和其他的敏感數據,一種推薦的方式是通過Asp.Net Core的機密管理器。 機密管理器 在 ASP.NET Core ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 順序棧的介面程式 目錄順序棧的介面程式頭文件創建順序棧入棧出棧利用棧將10進位轉16進位數驗證 頭文件 #include <stdio.h> #include <stdbool.h> #include <stdlib.h> 創建順序棧 // 指的是順序棧中的元素的數據類型,用戶可以根據需要進行修改 ...
  • 前言 整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本為 v11 最新的版本。 開源項目 從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。 系列文章 web server apache tomcat11-01-官方文檔入門介紹 web serv ...
  • C總結與剖析:關鍵字篇 -- <<C語言深度解剖>> 目錄C總結與剖析:關鍵字篇 -- <<C語言深度解剖>>程式的本質:二進位文件變數1.變數:記憶體上的某個位置開闢的空間2.變數的初始化3.為什麼要有變數4.局部變數與全局變數5.變數的大小由類型決定6.任何一個變數,記憶體賦值都是從低地址開始往高地 ...
  • 如果讓你來做一個有狀態流式應用的故障恢復,你會如何來做呢? 單機和多機會遇到什麼不同的問題? Flink Checkpoint 是做什麼用的?原理是什麼? ...
  • C++ 多級繼承 多級繼承是一種面向對象編程(OOP)特性,允許一個類從多個基類繼承屬性和方法。它使代碼更易於組織和維護,並促進代碼重用。 多級繼承的語法 在 C++ 中,使用 : 符號來指定繼承關係。多級繼承的語法如下: class DerivedClass : public BaseClass1 ...
  • 前言 什麼是SpringCloud? Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的開發便利性簡化了分散式系統的開發,比如服務註冊、服務發現、網關、路由、鏈路追蹤等。Spring Cloud 並不是重覆造輪子,而是將市面上開發得比較好的模塊集成進去,進行封裝,從 ...
  • class_template 類模板和函數模板的定義和使用類似,我們已經進行了介紹。有時,有兩個或多個類,其功能是相同的,僅僅是數據類型不同。類模板用於實現類所需數據的類型參數化 template<class NameType, class AgeType> class Person { publi ...
  • 目錄system v IPC簡介共用記憶體需要用到的函數介面shmget函數--獲取對象IDshmat函數--獲得映射空間shmctl函數--釋放資源共用記憶體實現思路註意 system v IPC簡介 消息隊列、共用記憶體和信號量統稱為system v IPC(進程間通信機制),V是羅馬數字5,是UNI ...