vsftp快速搭建

安裝服務軟件

yum install vsftpd  -y ##安裝軟件
啓動配置服務
systemctl start vsftpd ##開啓vsftpd服務
systemctl enable vsftpd ##開機自啓動
netstat -anltp | grep vsftpd  ###  查看狀態
setenforce 0  ##設置selinux
yum install -y firewalld       安裝防火牆
systemctl start firewalld      啓動防火牆
firewall-cmd --permanent --add-service=ftp   配置防火牆
firewall-cmd --reload       重啓防火牆
firewall-cmd --list-all      查看
vsftpd文件信息
/var/ftp            ##默認的發佈目錄
/etc/vsftpd     ##配置目錄
vsftpd服務配置參數
/etc/vsftpd/vsftpd.conf          ##配置文件

sestatus -b | grep ftp       執行以下命令查看狀態
setsebool -P tftp_home_dir on     外網開啓
setsebool -P ftpd_full_access on     外網開啓
setsebool -P httpd_enable_ftp_server on 
setsebool -P httpd_can_connect_ftp on
sestatus -b | grep ftp

netstat -anltp | grep vsfpd      查看端口號
 systemctl start vsftpd          啓動服務
 systemctl enable vsftpd          開機自啓
  netstat -anltlp | grep vsftp
 yum -y install ftp               安裝客戶端

ftp創建用戶和添加權限

1.創建用戶,並指定分組和主目錄

useradd -d /opt/reconciliation -s /sbin/nologin -g ftpGroup -G root ftpUser

解析:
useradd 添加用戶ftpUser
-d 指定用戶根目錄爲/opt/reconciliation
-s 指定shell腳本爲/sbin/nologin,表示不允許shell登錄
-g 創建分組ftpGroup
-G 指定root分組
PS:創建有問題可以刪除重新創建 userdel -r ftpUser
2.設定密碼 passwd ftpUser
3.設置訪問權限 chown ftpUser /opt/reconciliation/
更改ftp配置文件
  修改配置文件/etc/vsftpd/vsftpd.conf並設定或刪掉註釋:

userlist_enable=NO
  anonymous_enable=NO
  chroot_list_enable=YES
  chroot_list_file=/etc/vsftpd/chroot_list

打開/etc/vsftpd/user_list並增加一行:
  ftpUser
  新建文件/etc/vsftpd/chroot_list並增加一行
  ftpUser

配置用戶ftp權限及訪問路徑限制:
  此時用usertest登陸系統ftp,是否可以訪問?如果無法訪問,說明我們的ftp做了限制。打開/etc/vsftpd /vsftpd.conf,查找userlist_enable、userlist_deny、userlist_file。如果 userlist_deny=NO:只允許userlist_file文件中的用戶可訪問ftp;如果 userlist_deny=YES:userlist_file文件中列舉的用戶不能通過ftp訪問系統。userlist_enable是該功能的開 關。我們的系統配置如下:

userlist_enable=YES
  userlist_deny=NO
  userlist_file=/etc/vsftpd/user_list

所以需要把用戶加入到/etc/vsftpd/user_list文件中,每個用戶一行。
  由於該主目錄是mpsp用戶建的,usertest是mpsp組的成員,所以usertest默認具有增刪查改權限;而usertest作爲 mpsp組成員,對/home/mpsp下的所有路徑具有訪問權限(根據各目錄的權限設置,默認是這樣),登錄ftp後會發現,usertest用戶可以 訪問其他目錄,並且具有mpsp組的權限,這樣做是不允許的,我們需要將usertest用戶的訪問範圍控制在其主目錄下。方法如下:
  1. cd /etc/vsftpd 進入ftp配置文件目錄
  2. vi vsftpd.conf編輯此文件,找到#chroot_list_enable=YES,刪除前面的那個#號,表示開啓此限制功能
  找到chroot_list_file:chroot_list_file=/etc/vsftpd/chroot_list
  3. 編輯chroot_list文件,加入你要限制的用戶名,一行一個用戶。
  如果更新了vsftpd.conf,一定要重啓ftp

/usr/sbin/vsftpd: VSFTPD的可執行文件

/etc/rc.d/init.d/vsftpd:啓動腳本

/etc/vsftpd/vsftpd.conf:主配置文件

/etc/pam.d/vsftpd:PAM認證文件

/etc/vsftpd.ftpusers:禁用使用VSFTPD的用戶列表文件

/etc/vsftpd.user_list:禁止或允許使用VSFTPD的用戶列表文件

/var/ftp:匿名用戶主目錄

/etc/vsftpd/vsftpd.conf:vsftpd 的核心配置文件

/etc/vsftpd/ftpusers:用於指定哪些用戶不能訪問FTP 服務器。  黑名單

/etc/vsftpd/user_list:指定允許使用vsftpd 的用戶列表文件。  白名單

vim  /etc/vsftpd/user_list

如果userlist_deny= YES(默認),絕不允許在這個文件中的用戶登錄ftp,甚至不提示輸入密碼

#prompt 提示

/etc/vsftpd/vsftpd_conf_migrate.sh:是vsftpd 操作的一些變量和設置腳本

設置了兩個用戶分別是upo和longxibendi
接下來相讓upo 可以上傳文件,但是不希望longxibendi也有同樣的權限 ,藉助vsftpd提供的分用戶 設置機制,可以容易的做到這一點。
上文,已經在/etc/vsftpd.conf 中加入了
user_config_dir 設置,現在只需建立相應的目錄,並在該目錄下增加用戶upo的配置文件即可:代碼:
sudo mkdir /etc/vsftpd_user_conf
#建立文件夾,在/etc/下,名字是#vsftpd_user_conf
#這樣纔可以與上面的配置相對應。
代碼:

sudo sh -c “echo 'write_enable=YES' > /etc/vsftpd_user_conf/upo”

將 內容write_enable=YES 寫 入/etc/vsftpd_user_conf/upo

而,write_enable=YES的意思是允許寫操作
代碼:

sudo sh -c “echo 'anno_upload_enable=YES' >> / /etc/vsftpd_user_conf/upo

按行,也就是爲什麼要用‘>> /’將
anno_upload_enable=YES寫
入/etc/vsftpd_user_conf/upo 中
anno_upload_enable=YES 允許用戶上傳
代碼:sudo sh -c “echo 'anno_mkdir_write_enable=YES' >> / /etc/vsftpd_user_conf/upo”

也是寫入…內容到…

anno_mkdir_write_enable=YES 意思是

允許建立文件夾

如果允許用戶upo刪除和重命名文件(不建議)
執行:

sudo sh -c “echo 'anon_other_write_enable=YES' >> / /etc/vsftpd_user_conf/upo”

然後運行下面的命令,讓vsftpd讀入新配置
代碼:

sudo invoke-rc.d vsftpd reload

現在用戶upo 可以上傳文件了,作爲站點管理員,可能希望文件只能被上傳到限定的目錄,所以運行下面:

sudo mkdir /home/ftp/incoming

建立文件夾incoming 在/home/ftp/下

sudo chown ftp:nogroup incoming
sudo chmod 770 /home/ftp/incoming 
sudo chmod -w /home/ftp

上面的命令是配置文家夾的屬性
這樣,目錄/home/ftp對ftp用戶,也就是隱藏在所有虛擬用戶背後的真實用戶不可寫了,因此上傳到/home/ftp不會成功。
注意,上面的例子中屏蔽了一般用戶對/home/ftp/incoming 的訪問權限,這樣做是爲了利用vsftpd的一個副作用。
在默認的情況下,虛擬用戶只能讀取,或者下載對於任何用戶都可讀的文件和目錄。上面的設置使虛擬用戶無法列出目錄 /home/ftp/incoming 下的文件,通常這是一個不錯的特性。另一方面,通常,會希望upo用戶,也可以看到自己上傳的文件,爲此可以運行如下命令:
代碼:

sudo sh -c “echo 'anno_world_readable_only=NO' >> / etc/vsftpd_user_conf/upo”

將… 寫入…文檔

anno_world_readable_only=NO 意思是
取消用戶的只讀限制,不加這句,用戶不能查看自
己上傳的文件。
代碼:

sudo killall -l vsftpd
sudo /etc/init.d/vsftpd restart

現在用戶upo 可以看到/home/ftp/incoming 的內容了,完美主義者,可在/etc/vsftpd_user_conf/upo
中加入下面兩行

local_umask=027 

以徹底化副作用。

ftpd_banner=Welcome to blah FTP service

用戶連接後看到的歡迎信息

pam_service_name=vsftpd

PAM 服務名稱,這裏的設置決定PAM將爲vsftpd使用配置文件

#/etc/pam.d/vsftpd
除了local_enable和ftpd_banner 之外,其他設置都很好地適應我們的需求,因此不需改動

ftp配置項註釋

vsftpd.conf的格式非常簡單。每一行都是註釋或指令。註釋行以#開頭並被忽略。指令行的格式爲:選項=值
重要的是要注意在選項,=和值之間放置任何空格是錯誤的。

每個設置都有一個默認編譯,可以在配置文件中修改。
布爾選項
下面是布爾選項列表。布爾選項的值可以設置爲YES 或NO。

allow_anon_ssl

僅在ssl_enable處於活動狀態時適用。如果設置爲YES,則允許匿名用戶使用安全SSL連接。
默認值:NO

anon_mkdir_write_enable

如果設置爲YES,則允許匿名用戶在特定條件下創建新目錄。爲此,必須激活選項write_enable,並且匿名ftp用戶必須具有父目錄的寫權限。
默認值:NO

anon_other_write_enable

如果設置爲YES,則允許匿名用戶執行除上載和創建目錄之外的寫入操作,例如刪除和重命名。通常不建議這樣做,但爲了完整性而包括在內。
默認值:NO

anon_upload_enable

如果設置爲YES,則允許匿名用戶在特定條件下上載文件。爲此,必須激活選項write_enable,並且匿名ftp用戶必須具有所需上載位置的寫入權限。虛擬用戶上傳也需要此設置; 默認情況下,虛擬用戶使用匿名(即最大限制)權限進行處理。
默認值:NO

anon_world_readable_only

啓用後,將只允許匿名用戶下載世界可讀的文件。這是認識到ftp用戶可能擁有文件,尤其是在上傳的情況下。
默認值:是

anonymous_enable

控制是否允許匿名登錄。如果啓用,則用戶名ftp和anonymous都將被識別爲匿名登錄。
默認值:是

ascii_download_enable

啓用後,ASCII模式數據傳輸將在下載時受到尊重。
默認值:NO

ascii_upload_enable

啓用後,上傳時將遵循ASCII模式數據傳輸。
默認值:NO

async_abor_enable

啓用後,將啓用稱爲“異步ABOR”的特殊FTP命令。只有不明智的FTP客戶端纔會使用此功能。此外,此功能難以處理,因此默認情況下禁用。遺憾的是,除非此功能可用,否則某些FTP客戶端將在取消傳輸時掛起,因此您可能希望啓用它。
默認值:NO
背景
啓用後,vsftpd以“listen”模式啓動,vsftpd將爲偵聽器進程提供背景。即控件將立即返回到啓動vsftpd的shell。
默認值:是

check_shell

注意!此選項僅對vsftpd的非PAM構建有效。如果禁用,vsftpd將不會檢查/ etc / shells是否有用於本地登錄的用戶shell。
默認值:是

chmod_enable

啓用後,允許使用SITE CHMOD命令。注意!這僅適用於本地用戶。匿名用戶永遠不會使用SITE CHMOD。
默認值:是

chown_uploads

如果啓用,則所有匿名上載的文件都將更改爲設置chown_username中指定的用戶。從管理(可能是安全性)的角度來看,這很有用。
默認值:NO

chroot_list_enable

如果激活,您可以在登錄時提供放置在其主目錄中的chroot()jail中的本地用戶列表。如果chroot_local_user設置爲YES,則含義略有不同。在這種情況下,列表將成爲不被放置在chroot()jail中的用戶列表。默認情況下,包含此列表的文件是/ etc / vsftpd / chroot_list,但您可以使用chroot_list_file設置覆蓋它。默認值:NO

chroot_local_user

如果設置爲YES,則登錄後本地用戶(默認情況下)將放置在其主目錄中的chroot()jail中。警告:此選項具有安全隱患,尤其是在用戶具有上載權限或shell訪問權限的情況下。只有在您知道自己在做什麼時才啓用。請注意,這些安全隱患不是vsftpd特定的。它們適用於所有提供將本地用戶放入chroot()jail的FTP守護進程。
默認值:NO

connect_from_port_20

這可以控制PORT樣式數據連接是否在服務器計算機上使用端口20(ftp-data)。出於安全原因,一些客戶可能會堅持認爲是這種情況。相反,禁用此選項可使vsftpd以較低的權限運行。
默認值:NO(但是示例配置文件啓用它)

debug_ssl

如果爲true,則將OpenSSL連接診斷轉儲到vsftpd日誌文件。(在v2.0.6中添加)。
默認值:NO

delete_failed_uploads

如果爲true,則刪除任何失敗的上載文件。(在v2.0.7中添加)。默認值:NO

deny_email_enable

如果激活,您可以提供匿名密碼電子郵件響應列表,這會導致登錄被拒絕。默認情況下,包含此列表的文件是/ etc / vsftpd / banned_emails,但您可以使用banned_email_file設置覆蓋它。
默認值:NO

force_local_logins_ssl

僅在激活ssl_enable時適用。如果激活,則強制所有非匿名登錄使用安全SSL連接以發送密碼。
默認值:是

guest_enable

如果啓用,則所有非匿名登錄都被歸類爲“訪客”登錄。guest 虛擬機登錄將重新映射到guest_username設置中指定的用戶。
默認值:NO

hide_ids

如果啓用,目錄列表中的所有用戶和組信息將顯示爲“ftp”。默認值:NO

implicit_ssl

如果啓用,則SSL握手是所有連接(FTPS協議)上的第一件事。要支持顯式SSL和/或純文本,還應運行單獨的vsftpd偵聽器進程。
默認值:NO
偵聽如果啓用,vsftpd將以獨立模式運行。這意味着vsftpd不能從某種類型的inetd運行。相反,vsftpd可執行文件直接運行一次。然後,vsftpd將負責監聽和處理傳入的連接。
默認值:NO

listen_ipv6

與listen參數一樣,除了vsftpd將偵聽IPv6套接字而不是IPv4套接字。此參數和listen參數是互斥的。默認值:NO

local_enable

控制是否允許本地登錄。如果啓用,則可以使用/ etc / passwd中的普通用戶帳戶(或PAM配置引用的任何位置)登錄。必須啓用此功能才能使任何非匿名登錄工作,包括虛擬用戶。
默認值:NO

lock_upload_files

啓用後,所有上載都會繼續對上載文件進行寫鎖定。所有下載都繼續下載文件上的共享讀鎖定。警告!在啓用此功能之前,請注意惡意閱讀器可能會使想要添加文件的作者感到飢餓。

log_ftp_protocol

啓用後,將記錄所有FTP請求和響應,前提是未啓用xferlog_std_format選項。用於調試。
默認值:NO

ls_recurse_enable

啓用後,此設置將允許使用“ls -R”。這是一個較小的安全風險,因爲大型站點頂層的ls -R可能會消耗大量資源。默認值:NO

mdtm_write

啓用後,此設置將允許MDTM設置文件修改時間(根據通常的訪問檢查)。默認值:是

no_anon_password

啓用後,這會阻止vsftpd請求匿名密碼 - 匿名用戶將直接登錄。默認值:NO

no_log_lock

啓用後,這會阻止vsftpd在寫入日誌文件時進行文件鎖定。通常不應啓用此選項。它存在以解決操作系統錯誤,例如Solaris / Veritas文件系統組合,已經觀察到有時會出現試圖鎖定日誌文件的掛起。默認值:NO

one_process_model

如果您有Linux 2.4內核,則可以使用不同的安全模型,每個連接只使用一個進程。它是一種不太純粹的安全模型,但會提高您的性能。除非您知道自己在做什麼,並且您的站點支持大量同時連接的用戶,否則您真的不想啓用它。
默認值:NO

passwd_chroot_enable

如果啓用,則與chroot_local_user一起,然後可以基於每個用戶指定chroot()jail位置。每個用戶的jail都是從/ etc / passwd中的主目錄字符串派生的。主目錄字符串中出現/./表示jail位於路徑中的特定位置。默認值:NO

pasv_addr_resolve

如果要在pasv_address選項中使用主機名(而不是IP地址),請設置爲YES 。
默認值:NO

pasv_enable

如果要禁用PASV獲取數據連接的方法,請設置爲NO。默認值:是

pasv_promiscuous

如果要禁用PASV安全檢查,則設置爲YES,以確保數據連接源自與控制連接相同的IP地址。只有在你知道自己在做什麼的情況下才能啓用 對此的唯一合法用途是採用某種形式的安全隧道方案,或者可能是爲了促進FXP支持。默認值:NO

port_enable

如果要禁止PORT方法獲取數據連接,請設置爲NO。默認值:是

port_promiscuous

如果要禁用PORT安全檢查,則設置爲YES,以確保傳出數據連接只能連接到客戶端。只有在你知道自己在做什麼的情況下才能啓用。默認值:NO

require_cert

如果設置爲yes,則需要所有SSL客戶端連接來提供客戶端證書。應用於此證書的驗證程度由validate_cert控制(在v2.0.6中添加)。
默認值:NO

require_ssl_reuse

如果設置爲yes,則需要所有SSL數據連接以展示SSL會話重用(這證明它們知道與控制通道相同的主密鑰)。雖然這是一個安全的默認設置,但它可能會破壞許多FTP客戶端,因此您可能希望禁用它。有關後果的討論,請參閱 http://scarybeastsecurity.blogspot.com/2009/02/vsftpd-210-released.html(在v2.1.0中添加)。默認值:是

reverse_lookup_enable

如果希望vsftpd在pam身份驗證之前將ip地址轉換爲主機名,則設置爲YES。如果您使用包含主機名的pam_access,這將非常有用。如果您希望vsftpd在某些主機名的反向查找可用並且名稱服務器暫時不響應的環境中運行,則應將其設置爲NO以避免性能問題。

run_as_launching_user

如果您希望vsftpd以啓動vsftpd的用戶身份運行,請設置爲YES。在根訪問不可用的情況下,這很有用。大規模警告!除非您完全知道自己在做什麼,否則不要啓用此選項,因爲天真地使用此選項會產生大量安全問題。具體來說,當設置此選項時,vsftpd不會/不能使用chroot技術來限制文件訪問(即使由root啓動)。一個糟糕的替代品可能是使用deny_file 設置如{/,…*},但這種可靠性無法與chroot相比,並且不應該依賴。如果使用此選項,則適用對其他選項的許多限制。例如,需要權限的選項(例如非匿名登錄,上載所有權更改,從端口20連接和小於1024的偵聽端口)預計不起作用。其他選項可能會受到影響。默認值:NO

secure_email_list_enable

如果您只想接受匿名登錄的指定電子郵件密碼列表,請設置爲YES。這非常有用,可以在不需要虛擬用戶的情況下限制對低安全性內容的訪問。啓用後,除非提供的密碼列在email_password_file設置指定的文件中,否則將阻止匿名登錄。文件格式是每行一個密碼,沒有額外的空格。默認文件名是/ etc / vsftpd / email_passwords。默認值:NO

session_support

這可以控制vsftpd是否嘗試維護登錄會話。如果vsftpd維護會話,它將嘗試更新utmp和wtmp。如果使用PAM進行身份驗證,它也會打開一個pam_session,並且只有在註銷時關閉它。如果您不需要會話日誌記錄,您可能希望禁用此功能,並且您希望爲vsftpd提供更多機會以更少的進程和/或更少的權限運行。注 - utmp和wtmp支持僅在PAM啓用的版本中提供。默認值:NO

setproctitle_enable

如果啓用,vsftpd將嘗試在系統進程列表中顯示會話狀態信息。換句話說,報告的進程名稱將更改以反映vsftpd會話正在執行的操作(空閒,下載等)。出於安全考慮,您可能希望將其關閉。
默認值:NO

ssl_enable

如果啓用,並且vsftpd是針對OpenSSL編譯的,則vsftpd將通過SSL支持安全連接。這適用於控制連接(包括登錄)以及數據連接。您也需要一個支持SSL的客戶端。注意!!請注意啓用此選項。只有在需要時才啓用它。vsftpd無法保證OpenSSL庫的安全性。通過啓用此選項,您聲明您信任已安裝的OpenSSL庫的安全性。默認值:NO

ssl_request_cert

如果啓用,vsftpd會要求(但不一定需要;見 require_cert)一個證書上的傳入 SSL 連接。通常這不應該造成任何麻煩,但IBM zOS似乎有問題。(v2.0.7中的新功能)。默認值:是

ssl_sslv2

僅在激活ssl_enable時適用。如果啓用,此選項將允許SSL v2協議連接。TLS v1連接是首選。
默認值:NO

ssl_sslv3

僅在激活ssl_enable時適用。如果啓用,此選項將允許SSL v3協議連接。TLS v1連接是首選。
默認值:NO

ssl_tlsv1

僅在激活ssl_enable時適用。如果啓用,此選項將允許TLS v1協議連接。TLS v1連接是首選。
默認值:是

strict_ssl_read_eof

如果啓用,則需要通過SSL終止SSL數據上載,而不是套接字上的EOF。需要此選項以確保攻擊者未使用僞造的TCP FIN過早終止上載。不幸的是,默認情況下它沒有啓用,因爲很少有客戶端能夠正確使用它。(v2.0.7中的新功能)。
默認值:NO

strict_ssl_write_shutdown

如果啓用,則需要通過SSL終止SSL數據下載,而不是套接字上的EOF。默認情況下這是關閉的,因爲我無法找到執行此操作的單個FTP客戶端。這是次要的。它影響的是我們判斷

syslog_enable

如果啓用,那麼將轉到/var/log/vsftpd.log的任何日誌輸出都將轉到系統日誌。記錄在FTPD工具下完成。默認值:NO

tcp_wrappers

如果啓用,並且vsftpd是使用tcp_wrappers支持編譯的,則傳入連接將通過tcp_wrappers訪問控制提供。此外,還有一種基於每個IP的配置機制。如果tcp_wrappers設置VSFTPD_LOAD_CONF環境變量,則vsftpd會話將嘗試加載此變量中指定的vsftpd配置文件。默認值:NO

text_userdb_names

默認情況下,數字ID顯示在目錄列表的用戶和組字段中。您可以通過啓用此參數來獲取文本名稱。出於性能原因,它默認是關閉的。
默認值:NO

tilde_user_enable

如果啓用,vsftpd將嘗試解析路徑名,例如~chris / pics,即代字號後跟用戶名。請注意,vsftpd將始終解析路徑名〜和〜/ something(在這種情況下,〜解析爲初始登錄目錄)。請注意,只有在_current_ chroot()jail中找到文件/ etc / passwd時,〜用戶路徑纔會解析 。默認值:NO

use_localtime

如果啓用,vsftpd將顯示當前時區中包含時間的目錄列表。默認爲顯示GMT。MDTM FTP命令返回的時間也受此選項的影響。默認值:NO

use_sendfile

用於測試在平臺上使用sendfile()系統調用的相對好處的內部設置。
默認值:是

userlist_deny

如果激活userlist_enable,則檢查此選項。如果將此設置設置爲NO,則將拒絕用戶登錄,除非它們明確列在userlist_file指定的文件中。拒絕登錄時,將在要求用戶輸入密碼之前發出拒絕。默認值:是

userlist_enable

如果啓用,vsftpd將從userlist_file給出的文件名加載用戶名列表。如果用戶嘗試使用此文件中的名稱登錄,則在要求輸入密碼之前,他們將被拒絕。這可能有助於防止傳輸明文密碼。另請參見 userlist_deny。默認值:NO

validate_cert

如果設置爲yes,則收到的所有SSL客戶端證書都必須驗證OK。自簽名證書不構成OK驗證。(v2.0.6中的新功能)。默認值:NO

userlist_log

如果激活userlist_enable,則檢查此選項。如果啓用,將記錄基於用戶列表的每個登錄拒絕。
默認值:NO

virtual_use_local_privs

如果啓用,虛擬用戶將使用與本地用戶相同的權限。默認情況下,虛擬用戶將使用與匿名用戶相同的權限,這往往更具限制性(特別是在寫訪問方面)。默認值:NO

WRITE_ENABLE

這可以控制是否允許任何更改文件系統的FTP命令。這些命令是:STOR,DELE,RNFR,RNTO,MKD,RMD,APPE和SITE。默認值:NO

xferlog_enable

如果啓用,將保留日誌文件,詳細說明上載和下載。默認情況下,此文件將放在/var/log/vsftpd.log中,但可以使用配置設置vsftpd_log_file覆蓋此位置。
默認值:NO(但是示例配置文件啓用它)

xferlog_std_format

如果啓用,傳輸日誌文件將以標準xferlog格式寫入,如wu-ftpd所使用。這很有用,因爲您可以重用現有的傳輸統計信息生成器 但是,默認格式更具可讀性。此樣式的日誌文件的缺省位置是/ var / log / xferlog,但您可以使用xferlog_file設置進行更改。
默認值:NO

isolate_network

如果啓用,請使用CLONE_NEWNET隔離不受信任的進程,以便它們不能執行任意connect(),而是必須向特權進程請求套接字(必須禁用port_promiscuous)。默認值:是
隔離如果啓用,請使用CLONE_NEWPID和CLONE_NEWIPC將進程隔離到其ipc和pid名稱空間。因此,分離的流程不能相互交互。
默認值:是

數字選項
以下是數字選項列表。必須將數字選項設置爲非負整數。支持八進制數,以方便umask選項。要指定八進制數,請使用0作爲數字的第一個數字。

accept_timeout

遠程客戶端與PASV樣式數據連接建立連接的超時(以秒爲單位)。默認值:60

anon_max_rate

匿名客戶端允許的最大數據傳輸速率(以字節/秒爲單位)。默認值:0(無限制)

anon_umask

爲匿名用戶設置用於文件創建的umask的值。注意!如果要指定八進制值,請記住“0”前綴,否則該值將被視爲基數爲10的整數!
默認值:077

chown_upload_mode

要強制進行chown()ed匿名上傳的文件模式。(在v2.0.6中添加)。默認值:0600

connect_timeout

遠程客戶端響應我們的PORT樣式數據連接的超時(以秒爲單位)。默認值:60

data_connection_timeout

超時(以秒爲單位),大致是允許數據傳輸停止而沒有進度的最長時間。如果超時觸發,則啓動遠程客戶端。默認值:300

delay_failed_login

報告登錄失敗之前暫停的秒數。
默認值:1

delay_successful_login

允許成功登錄之前暫停的秒數。
默認值:0

file_open_mode

用於創建上載文件的權限。Umasks應用於此值之上。如果您希望上傳的文件可執行,您可能希望更改爲0777。默認值:0666

ftp_data_port

PORT樣式連接源自的端口(只要啓用名稱不佳的connect_from_port_20)。默認值:20

idle_session_timeout

超時(以秒爲單位),即遠程客戶端在FTP命令之間可能花費的最長時間。如果超時觸發,則啓動遠程客戶端。默認值:300

listen_port

如果vsftpd處於獨立模式,則它將偵聽傳入FTP連接的端口。默認值:21

local_max_rate

本地身份驗證用戶允許的最大數據傳輸速率(以字節/秒爲單位)。默認值:0(無限制)

local_umask

爲本地用戶設置用於文件創建的umask的值。注意!如果要指定八進制值,請記住“0”前綴,否則該值將被視爲基數爲10的整數!
默認值:077

max_clients

如果vsftpd處於獨立模式,則這是可以連接的最大客戶端數。連接的任何其他客戶端都將收到錯誤消息。值0關閉限制。默認值:2000

max_login_fails

在這麼多登錄失敗之後,會話被終止。
默認值:3

max_per_ip

如果vsftpd處於獨立模式,則這是可以從同一源Internet地址連接的最大客戶端數。如果客戶端超過此限制,將收到錯誤消息。值0關閉限制。
默認值:50

pasv_max_port

爲PASV樣式數據連接分配的最大端口。可用於指定窄端口範圍以協助防火牆。
默認值:0(使用任何端口)

pasv_min_port

爲PASV樣式數據連接分配的最小端口。可用於指定窄端口範圍以協助防火牆。
默認值:0(使用任何端口)

trans_chunk_size

您可能不想更改此設置,但嘗試將其設置爲類似8192的設備,以獲得更平滑的帶寬限制器。
默認值:0(讓vsftpd選擇合理的設置)
字符串選項
以下是字符串選項列表。

anon_root

此選項表示vsftpd在匿名登錄後嘗試更改的目錄。失敗被默默地忽略了。
默認值:(無)

banned_email_file

此選項是包含不允許的匿名電子郵件密碼列表的文件的名稱。如果啓用了選項deny_email_enable,則會查詢此文件 。
默認值:/ etc / vsftpd / banned_emails

banner_file

此選項是包含要在有人連接到服務器時顯示的文本的文件的名稱。如果設置,它將覆蓋ftpd_banner選項提供的標題字符串 。
默認值:(無)

ca_certs_file

此選項是用於加載證書頒發機構證書的文件的名稱,用於驗證客戶端證書。加載的證書也會通告給客戶端,以滿足TLSv1.0客戶端的需求,例如z / OS FTP客戶端。遺憾的是,由於vsftpd使用受限制的文件系統空間(chroot),因此未使用默認的SSL CA證書路徑。(在v2.0.6中添加)。
默認值:(無)

chown_username

這是獲得匿名上傳文件所有權的用戶的名稱。僅當設置了另一個選項chown_uploads時,此選項纔有意義。
默認值:root

chroot_list_file

該選項是包含本地用戶列表的文件的名稱,該列表將放置在其主目錄中的chroot()jail中。僅當啓用了選項chroot_list_enable時,此選項纔有意義。如果啓用了選項chroot_local_user,則列表文件將成爲未放置在chroot()jail中的用戶列表。
默認值:/etvsftpd.confc/vsftpd.chroot_list

cmds_allowed

此選項指定允許的FTP命令的逗號分隔列表(登錄後.USER,PASS和QUIT以及其他始終允許登錄前)。其他命令被拒絕。這是一種真正鎖定FTP服務器的強大方法。示例:cmds_allowed = PASV,RETR,QUIT默認值:(無)

cmds_denied

此選項指定以逗號分隔的拒絕FTP命令列表(登錄後。始終允許登錄前使用USER,PASS,QUIT等)。如果此命令和cmds_allowed上都出現命令,則拒絕優先。(在v2.1.0中添加)。
默認值:(無)

dsa_cert_file

此選項指定用於SSL加密連接的DSA證書的位置。
默認值:(無 - RSA證書就足夠了)

dsa_private_key_file

此選項指定用於SSL加密連接的DSA私鑰的位置。如果未設置此選項,則預期私鑰與證書位於同一文件中。默認值:(無)

email_password_file

此選項可用於提供secure_email_list_enable設置使用的備用文件。
默認值:/ etc / vsftpd / email_passwords

ftp_username

這是我們用於處理匿名FTP的用戶的名稱。該用戶的主目錄是匿名FTP區域的根目錄。
默認值:ftp

deny_file

此選項可用於設置文件名(和目錄名等)的模式,這些模式不應以任何方式訪問。受影響的項目不會被隱藏,但任何對它們做任何事情的嘗試(下載,更改到目錄,影響目錄中的內容等)都將被拒絕。此選項非常簡單,不應用於嚴格的訪問控制 - 應優先使用文件系統的權限。但是,此選項在某些虛擬用戶設置中可能很有用。特別要注意的是,如果文件名可以通過各種名稱訪問(可能是由於符號鏈接或硬鏈接),那麼必須注意拒絕訪問所有名稱。如果項目的名稱包含hide_file給出的字符串,或者它們與hide_file指定的正則表達式匹配,則將拒絕訪問項目。注意vsftpd’ 正則表達式匹配代碼是一個簡單的實現,它是完整正則表達式功能的子集。因此,您需要仔細而詳盡地測試此選項的任何應用程序。並且由於其更高的可靠性,建議您對任何重要的安全策略使用文件系統權限。支持的正則表達式語法是任意數量的* ,? 和unnested {,}運算符。僅在路徑的最後一個組件上支持正則表達式匹配,例如a / b /?支持,但/?/ c不支持。示例:deny_file = {。mp3,。mov,.private} 並且由於其更高的可靠性,建議您對任何重要的安全策略使用文件系統權限。支持的正則表達式語法是任意數量的* ,? 和unnested {,}運算符。僅在路徑的最後一個組件上支持正則表達式匹配,例如a / b /?支持,但/?/ c不支持。示例:deny_file = {。mp3,。mov,.private} 並且由於其更高的可靠性,建議您對任何重要的安全策略使用文件系統權限。支持的正則表達式語法是任意數量的* ,? 和unnested {,}運算符。僅在路徑的最後一個組件上支持正則表達式匹配,例如a / b /?支持,但/?/ c不支持。示例:deny_file = {。mp3,。mov,.private}
默認值:(無)

ftpd_banner

此字符串選項允許您在首次進入連接時覆蓋vsftpd顯示的問候語橫幅。
默認值:(無 - 顯示默認的vsftpd橫幅)

guest_username

有關訪客登錄的描述,請參閱布爾值設置guest_enable。此設置是訪客用戶映射到的真實用戶名。默認值:ftp

hide_file

此選項可用於設置文件名(和目錄名稱等)的模式,這些模式應該從目錄列表中隱藏。儘管被隱藏,但是知道實際使用的名稱的客戶可以完全訪問文件/目錄等。如果項目的名稱包含hide_file給出的字符串,或者它們與hide_file指定的正則表達式匹配,則將隱藏這些項目。請注意,vsftpd的正則表達式匹配代碼是一個簡單的實現,它是完整正則表達式功能的子集。有關具體支持的正則表達式語法的詳細信息,請參閱deny_file。示例:hide_file = {*。mp3,.hidden,hide *,h?}默認值:(無)

listen_address

如果vsftpd處於獨立模式,則此設置可能會覆蓋(所有本地接口的)默認偵聽地址。提供數字IP地址。默認值:(無)

listen_address6

與listen_address類似,但指定IPv6偵聽器的默認偵聽地址(如果設置了listen_ipv6,則使用該地址)。格式是標準IPv6地址格式。
默認值:(無)

local_root

此選項表示vsftpd在本地(即非匿名)登錄後嘗試更改的目錄。失敗被默默地忽略了。
默認值:(無)

message_file

此選項是輸入新目錄時我們查找的文件的名稱。內容顯示給遠程用戶。僅當啓用了選項dirmessage_enable時,此選項纔有意義。
默認值:.message

nopriv_user

這是vsftpd在完全沒有特權的情況下使用的用戶名。請注意,這應該是專用用戶,而不是任何人。在大多數機器上,用戶沒有傾向於使用很多重要的東西。默認值:沒人
pam_service_name
此字符串是vsftpd將使用的PAM服務的名稱。
默認值:ftp

pasv_address設置

使用此選項可覆蓋vsftpd將響應PASV命令而通告的IP地址。提供數字IP地址,除非 啓用了pasv_addr_resolve,在這種情況下,您可以提供在啓動時爲您解析DNS的主機名。
默認值:(無 - 地址取自傳入的連接套接字)

rsa_cert_file

此選項指定用於SSL加密連接的RSA證書的位置。
默認值:/usr/share/ssl/certs/vsftpd.pem

rsa_private_key_file

此選項指定用於SSL加密連接的RSA私鑰的位置。如果未設置此選項,則預期私鑰與證書位於同一文件中。默認值:(無)

secure_chroot_dir

此選項應該是空目錄的名稱。此外,ftp用戶不應該寫入該目錄。此目錄有時用作安全chroot()jail,vsftpd不需要文件系統訪問。
默認值:/ usr / share / empty
的ssl_ciphers
此選項可用於選擇vsftpd允許加密SSL連接的SSL密碼。有關更多詳細信息,請參見密碼手冊頁。請注意,限制密碼可能是一種有用的安全預防措施,因爲它可以防止惡意遠程方強制使用已發現問題的密碼。
默認值:DES-CBC3-SHA

user_config_dir

這個功能強大的選項允許基於每個用戶覆蓋手冊頁中指定的任何配置選項。用法很簡單,最好用一個例子來說明。如果將user_config_dir設置爲/ etc / vsftpd / user_conf然後以用戶“chris”身份登錄,則vsftpd將在會話期間應用文件/ etc / vsftpd / user_conf / chris中的設置。此文件的格式詳見本手冊頁!請注意,並非所有設置都對每個用戶有效。例如,許多設置僅在用戶會話啓動之前。不會影響每個用戶的任何行爲的設置示例包括listen_address,banner_file,max_per_ip,max_clients,xferlog_file等。默認值:(無)

user_sub_token

此選項與虛擬用戶結合使用非常有用。它用於根據模板爲每個虛擬用戶自動生成主目錄。例如,如果通過guest_username指定的真實用戶的主目錄是/ home / virtual / $ USER,並且user_sub_token設置爲 $ USER,那麼當虛擬用戶fred登錄時,他將結束(通常是chroot()'ed )在目錄/ home / virtual / fred中。如果local_root包含user_sub_token,則此選項也會生效。默認值:(無)

userlist_file

此選項是userlist_enable選項處於活動狀態時加載的文件的名稱。
默認值:/ etc / vsftpd / user_list

vsftpd_log_file

此選項是我們編寫vsftpd樣式日誌文件的文件的名稱。僅當設置了選項xferlog_enable並且未設置xferlog_std_format時, 纔會寫入此日誌。或者,如果已設置選項dual_log_enable,則會寫入。另一個複雜因素 - 如果您設置了syslog_enable,則不會寫入此文件,而是將輸出發送到系統日誌。
默認值:/var/log/vsftpd.log

xferlog_file

此選項是我們編寫wu-ftpd樣式傳輸日誌的文件的名稱。僅當 設置了xferlog_enable選項以及xferlog_std_format時纔會寫入傳輸日誌。或者,如果已設置選項dual_log_enable,則會寫入。
默認值:/ var / log / xferlog

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章