天天看點

linux ftp 執行個體

<b>轉自</b><b>:http://ludihua.blog.51cto.com/4601284/1596276</b>

1. 匿名伺服器的連接配接(獨立的伺服器)

在/etc/vsftpd.conf(或在/etc/vsftpd/vsftpd.conf)配置檔案中添加如下幾項:

anonymous_enable=yes           

(允許匿名登陸)

dirmessage_enable=yes            

(切換目錄時,顯示目錄下.message的内容)

local_umask=022                     

(ftp上本地的檔案權限,預設是077)

connect_form_port_20=yes       

(啟用ftp資料端口的資料連接配接)*

xferlog_enable=yes                 

(激活上傳和下載下傳的日志)

xferlog_std_format=yes             

(使用标準的日志格式)

ftpd_banner=xxxxx               

(歡迎資訊)

pam_service_name=vsftpd        

(驗證方式)*

listen=yes                              

(獨立的vsftpd伺服器)*

注釋:以上配置隻能連接配接ftp伺服器,不能上傳和下載下傳

注:其中所有和日志歡迎資訊相關連的都是可選項,打了星号的無論什麼帳戶都要添加,是屬于ftp的基本選項

2. 開啟匿名ftp伺服器上傳權限

在配置檔案中添加以下的資訊即可:

anon_upload_enable=yes         

(開放上傳權限)

anon_mkdir_write_enable=yes   

(可建立目錄的同時可以在此目錄中上傳檔案)

write_enable=yes                    

(開放本地使用者寫的權限)

anon_other_write_enable=yes   

(匿名帳号可以有删除的權限)

3. 開啟匿名伺服器下載下傳的權限

在配置檔案中添加如下資訊即可:

anon_world_readable_only=no

注:要注意檔案夾的屬性,匿名帳戶的權限相當于使用者other,使用者要開啟它的讀寫執行的權限

(r)讀-----下載下傳 (w)寫----上傳

(x)執行----如果不開ftp的目錄都進不去

4.普通使用者ftp伺服器的連接配接(獨立伺服器)

local_enble=yes                      

(本地帳戶能夠登陸)

write_enable=no                      

(本地帳戶登陸後無權删除和修改檔案)

功能:可以用本地帳戶登陸vsftpd伺服器,有下載下傳上傳的權限

注:在禁止匿名登陸的資訊後匿名伺服器照樣可以登陸但不可以上傳下載下傳

5. 使用者登陸限制進其它的目錄,隻能進它的主目錄

設定所有的本地使用者都執行chroot

chroot_local_user=yes              

(本地所有帳戶都隻能在自家目錄)

設定指定使用者執行chroot

chroot_list_enable=yes             

(檔案中的名單可以調用)

chroot_list_file=/任意指定的路徑/vsftpd.chroot_list

注意:vsftpd.chroot_list

是沒有建立的需要自己添加,要想控制帳号就直接在檔案中加帳号即可

6. 限制本地使用者通路ftp

userlist_enable=yes                   

(用userlistlai 來限制使用者通路)

userlist_deny=no                       

(名單中的人不允許通路)

userlist_file=/指定檔案存放的路徑/ (檔案放置的路徑)

注:開啟userlist_enable=yes匿名帳号不能登陸

7. 安全選項

idle_session_timeout=600(秒)       

(使用者會話空閑後10分鐘)

data_connection_timeout=120     

(将資料連接配接空閑2分鐘斷)

accept_timeout=60                    

(将用戶端空閑1分鐘後斷)

connect_timeout=60                   

(中斷1分鐘後又重新連接配接)

local_max_rate=50000(bite)    

(本地使用者傳輸率50k)

anon_max_rate=30000(bite)    

(匿名使用者傳輸率30k)

pasv_min_port=50000                

(将用戶端的資料連接配接端口改在

pasv_max_port=60000                 

50000—60000之間)

max_clients=200                       

(ftp的最大連接配接數)

max_per_ip=4                           

(每ip的最大連接配接數)

listen_port=5555                       

(從5555端口進行資料連接配接)

配置虛拟使用者

虛拟使用者的優點:匿名使用者的權限限制比較友善,相關的配置選項比較多,而本地使用者可以為每個使用者設定密碼,而虛拟使用者則綜合了兩種使用者的優點,可以為每個帳号設定獨立的密碼,同時也可以為每個帳戶設定不同的權限。

  建立虛拟使用者

vi logins.txt

此文本檔案的格式是:單數行為使用者名,偶數行為密碼

    &gt; upload

    &gt; 123456

    &gt; download

    &gt; admin

# db_load -t -t hash -f logins.txt

/etc/vsftpd_login.db

# chmod 600 /etc/vsftpd_login.db

進如/etc/pam.d/中建立ftp.vu

在此檔案中添加如下資訊

auth required

/lib/security/pam_userdb.so db=/etc/vsftpd_login

account required

 (建立虛拟使用者所要通路的ftp目錄并設定僅virtual使用者通路的權限和建立一個供下載下傳實驗的檔案)

# mkdir /var/ftpsite

# useradd -d /var/ftpsite virtual;

# chmod 700 /var/ftpsite

vi /etc/vsftpd.conf在此檔案中插入下面的配置語句

guest_enable=yes(啟用虛拟使用者)

guest_username=virtual(将虛拟使用者映射為本地virtual使用者)

pam_service_name=ftp.vu(指定pam配置檔案為ftp.vu)

user_config_dir=/etc/vsftpd_user_conf(指定不同虛拟使用者配置檔案的存放路徑)

   # mkdir

/etc/vsftpd_user_conf

開放不同使用者的不同權限 echo   "anon_world_readable_only=no"&gt;

/etc/vsftpd_user_conf/download(開放download使用者的下載下傳權限——隻能下載下傳;注意這個不地方不要寫成yes,否則将不能列出檔案和目錄)

    cp

/etc/vsftpd_user_conf/download /etc/vsftpd_user_conf/upload

    vi

/etc/vsftpd_user_conf/upload,添加下列行

    write_enable=yes

(增加寫權限)

anon_upload_enable=yes(增加上傳權限)

anon_mkdir_write_enable=yes (增加建立目錄的權限)

/etc/vsftpd_user_conf/upload /etc/vsftpd_user_conf/admin

    增加一行:

anon_other_write_enable=yes(增加管理者使用者的删除/重命名的權限)

    測試

   #vsftpd &amp;

    ftp 127.0.0.1

以使用者名download和你設定的密碼登入,ls,可以看到檔案,下載下傳,成功!put一個檔案,提示permission denied。rename

test.file同樣權限被拒絕;delete test.file同樣不成功!

輸入quit退出,以upload使用者登入,ok!可以上傳,下載下傳,mkdir lsf,提示“/lsf" created;rename lsf

lsf1提示permission denied,删除檔案同樣不成功!

輸入quit退出,以admin使用者登入,可以有上述所有權限,然後rmdir lsf,提示remove directory o [eration

successful;delete test.file提示delete operation successful!ok,大功告成了!

附:

vsftpd 的配置檔案

描述

vsftpd.conf 可以用于控制 vsftpd,

以實作各種各樣的功能. vsftpd 預設到 /etc/vsftpd.conf 處查找此檔案. 當然, 您也可以通過指令行參數進行指定. 這個指令行參數就是指

vsftpd 的配置檔案. 對于想使用進階 inetd 管理的使用者, 例如, xinetd, 則這個功能非常有用.

可以使用不同的配置檔案來啟動基于虛拟主機的每個服務.

格式

vsftpd.conf 的格式非常簡單. 每行要麼是注釋, 要麼是指令.

注釋行以 # 開始, 将被忽略. 指令行格式如下:

選項=值

應當注意的一點是如果在 選項, = 和 值 之間存在空格,

将會報錯.(譯者注: 即三者之間不允許存在空格)

每項設定都有預設值, 這可以通過配置檔案來修改.

布爾選項

下邊是布爾選項的清單. 一個布爾選項的值可以被設為 yes 或 no

allow_anon_ssl

隻有在 ssl_enable 被激活時才有用. 如果設為 yes,

匿名使用者将被允許使用安全的 ssl 聯接.

預設: no

anon_mkdir_write_enable

如果設為 yes, 匿名使用者将允許在某些情況下建立目錄. 這需要激活

write_enable 選項, 并且匿名 ftp 使用者需要對父目錄有寫權限.

anon_other_write_enable

如果設為 yes, 匿名使用者将擁有除 上載, 和建立目錄 外更多的權限,

比如 删除和重命名. 通常不建議這麼做, 但完整的配置檔案是包括這一選項的.

anon_upload_enable

如果設為 yes, 匿名使用者在某些情況下允許上載檔案. 這需要将

write_enable 選項激活, 并且匿名使用者應當對對應目錄有寫權限.

anon_world_readable_only

啟用時, 将隻允許匿名使用者下載下傳具有全球讀權限的檔案. 這将意味着 ftp

使用者可以擁有自己的檔案, 特别是前邊提到的上載的檔案.

預設: yes

anonymous_enable

用于控制是否允許匿名使用者登入. 如果激活, ftp 和 anonymous

都将被視為匿名使用者登入.

ascii_download_enable

如果被激活, 下載下傳時将使用 ascii 模式進行資料傳輸.

ascii_upload_enable

如果被激活, 上載時将使用 ascii 模式進行資料傳輸.

async_abor_enable

如果被激活, 一個特别的 ftp 指令 "async

abor" 将被激活. 隻有某些 ftp 用戶端需要使用這一特性. 另外, 這個特性并不是很好控制, 是以預設沒有啟用. 不幸的是,

如果沒有啟用這個特性, 某些 ftp 用戶端在取消一個傳輸時就會挂起, 是以, 您可能希望啟用它.

background

如果被激活, 并且 vsftpd 以 "listen"

模式啟動, vsftpd 将會background 監聽程序. 即 control will immediately be returned to the

shell which launched vsftpd.

check_shell

注意! 這個選項隻對建構時加入 non-pam 參數的 vsftpd

有效. 如果令其失效, vsftpd 将不會檢查有效使用者的用于本地登入的 /etc/shells.

chmod_enable

如果被激活, 将允許使用 site chmod 指令. 注意!

這隻對本地使用者有效. 匿名使用者從不允許使用 site chmod.

chown_uploads

如果被激活, 所有匿名上載的檔案的宿主将會調整為

chown_username 中指定的使用者. 這樣就便于管理, 特别是從安全的角度考慮.

chroot_list_enable

如果被激活, 您需要提供一個需要将其限制于其家目錄中的本地使用者清單.

如果将 chroot_local_user 設為 yes 則意義稍有不同. 在此情況下, 此清單變成不需将使用者限制于其家目錄的使用者的清單.

預設情況下,這個清單檔案是 /etc/vsftpd.chroot_list, 但可以通過 chroot_list_file 選項來設定.

chroot_local_user

如果設為 yes, 本地使用者, 在登入後将(預設)被限制在其家目錄中.

警告: 此選項有安全隐患, 特别是在使用者擁有上載權限, 或可以shell通路的時候. 如果您不清楚後果, 請不要啟用它. 注意, 這些安全隐患并不是

vsftpd 所特有的. 所有的提供将本地使用者進行目錄限制的 ftp 守護程序有存在這種隐患.

connect_from_port_20

用于控制在伺服器端, 是否使用端口20(ftp-data)進行資料聯接.

基于安全的考慮, 有些用戶端需要這樣做. 相反, 禁用這個選項, 可以使 vsftpd 以較少特權運作.

預設: no(但是在示例設定中啟用了這個選項)

deny_email_enable

如果激活, 您應當提供一個禁止匿名使用者用做密碼的 e-mail 位址清單.

預設情況下, 這個清單檔案為 /etc/vsftpd.banned_emails, 當然, 您可以通過 banned_email_file 選項指定.

dirlist_enable

如果設為 no, 所有的目錄列取指令都将被禁止.

dirmessage_enable

如果啟用, 當使用者首次進入一個新目錄時, ftp 伺服器将會顯示歡迎資訊.

預設情況下, 是掃描目錄下的 .message 檔案擷取的, 當然, 您也可以通過 message_file 選項設定.

download_enable

如果設為 no, 所有的下載下傳請求都将被拒絕.

dual_log_enable

如果啟用, 将生成兩個相似的日志檔案, 預設在

/var/log/xferlog 和 /var/log/vsftpd.log 目錄下. 前者是 wu-ftpd 類型的傳輸日志, 可以用于 标準工具分析.

後者是 vsftpd 自己類型的日志.

force_dot_files

如果激活, 以 . 開始的檔案和目錄在目錄列取的時候将會被顯示,

即使用戶端沒有使用 "a" 辨別. 這不包括 "." 和 ".." 目錄

force_local_data_ssl

隻有在 ssl_enable 被激活時才能使用. 如果被激活, 則所有的

非匿名使用者 登入時都被強制使用安全 ssl 聯接來傳送接收資料.

force_local_logins_ssl

非匿名使用者 登入時都被強制使用安全 ssl 聯接來傳送密碼.

guest_enable

如果啟用, 所有非匿名使用者都将以 "guest"

身份登入. guest 通過 guest_username 設定, 來映射到一個指定使用者.

hide_ids

如果啟用, 所有目錄中的使用者群組資訊列取時都将顯示為

"ftp".

listen

如果啟用, vsftpd 将以獨立模式運作. 這就意味着 vsftpd

不能由類 inetd 來啟動. vsftpd 應當直接執行. 由 vsftpd 自身監聽和處理聯接請求.

listen_ipv6

如 listen 參數, 所不同的是, vsftpd 将對 ipv6

接口進行監聽, 而不是 ipv4 接口. 此參數 和 listen 參數互相獨立.

local_enable

用于控制是否允許本地登入. 如果啟用, /etc/passwd

中的普通帳号即可用于登入.

log_ftp_protocol

如果啟用, 假若選項 xferlog_std_format 沒有啟用,

所有的 ftp 請求和應答都會被記錄. 此選項對将對調試很有用.

ls_recurse_enable

如果啟用, 此設定将允許使用者使用 "ls -r".

這有點安全威脅, 因為在大型站點的根目錄下進行 ls -r 将會消耗很多資源.

no_anon_password

如果啟用, 匿名使用者登入将不再需要密碼 - 可以直接登入.

no_log_lock

如果啟用, 在寫日志檔案時, 将會阻止 vsftpd 使用檔案鎖定.

這個選項通常不會啟用. 它的存在是為了處理作業系統的一個bug, 如 solaris / veritas 檔案系統組合某些情況下試圖鎖定日志檔案的現象.

one_process_model

如果你使用 linux 2.4 核心, 您就可以使用一個不同的安全模式,

它隻允許每個聯接使用一個程序. 這有一點小小的安全問題, 但是提高了性能. 如果您不清楚後果, 或者您的站點要承受大量的并發使用者聯接時, 請不要啟用此選項.

passwd_chroot_enable

如果啟用, 同 chroot_local_user 一起使用,

就會基于每個使用者建立限制目錄, 每個使用者限制的目錄源于 /etc/passwd 中的家目錄. 當家目錄路徑中包含 /./ 時, enotes that the

jail is at that particular location in the path.

pasv_enable

如果資料傳輸時, 您不允許使用 pasv 模式, 則将此選項設為 no

pasv_promiscuous

如果您要禁用 pasv 安全檢查, 将此選項設定為 yes.

該檢查用于確定資料傳輸聯接與控制聯接源于同一 ip 位址. 如果不清楚後果, 請不要啟用此選項! 此選項隻有在某些使用安全隧道的方案中才能正常使用, 或者需要

fxp 的支援. 

port_enable

如果您不允許使用端口模式擷取資料聯接, 将此選項設定為 no.

port_promiscuous

如果您想禁用端口安全檢查, 将此選項設定為 yes.

此檢查用于确認出站的資料隻流向用戶端. 搞清楚後果前,不要啟用此選項!

run_as_launching_user

如果您希望可以由使用者來啟動 vsftpd, 将此選項設定為 yes.

當不能使用root登入時, 這通常很有用. 嚴重警告: 搞清楚後果前,不要啟用此選項, 随意的啟用此選項将會導緻非常嚴重的安全問題. 特别是 vsftpd

沒有/不能使用目錄限制技術來限制檔案通路時(甚至vsftpd是由root啟動的). 一個愚蠢的替代方法是将選項 deny_file 設為 {/*,*..*},

但是其可靠性并不能和限制目錄相比, 甚至不在一個等級上. 如果啟用此選項, 應當限制其它選項的使用. 例如, 非匿名登入, 上載檔案宿主轉換,

使用源自端口20的聯接和低于 1024 的端口不會工作. 其它一些選項也可能受到影響.

預設值: no

secure_email_list_enable

如果您要為匿名使用者指定一個做為密碼的郵件位址清單, 将此選項設定為

yes. 在不需要建立虛拟使用者的情況下, 建構一個低安全性通路控制很有用. 如果啟用, 匿名使用者隻有使用在 email_password_file

中指定的郵件位址做為密碼, 才能登入. 檔案格式是每行一個密碼, 沒有空格. 預設檔案名是 /etc/vsftpd.email_passwords.

session_support

此選項用于控制 vsftpd 是否為登入保持會話. 如果保持會話,

vsftpd 将會嘗試和更新 utmp 和 wtmp. 如果使用 pam 認證, 同時還會打開 pam_session, 直至登出. 如果不需要保持登入會話,

或許您希望禁用此選項, 以使得 vsftpd 占用更少的程序和/或更少的特權. 注意 - utmp 和 wtmp 隻有在啟用 pam 的情況下才支援.

setproctitle_enable

如果啟用, vsftpd 将會嘗試在系統程序清單中顯示會話狀态資訊.

也就是說, 程序報告将會顯示每個 vsftpd會話在做什麼 (閑置, 下載下傳 等等). 出于安全的考慮, 您可能需要将其關閉.

ssl_enable

如果啟用此選項, 并在編譯時加入 openssl 支援, vsftpd

将支援通過 ssl 進行安全聯接. 此選項用于控制聯接(包括登入) 以及資料聯接. 您可能同時需要支援ssl的用戶端. 注意!! 小心啟用此選項.

僅在需要時才啟用. vsftpd 對使用 openssl 庫的安全性不做任何擔保. 啟用此選項, 就意味着您相信所安裝的 openssl 庫的安全性.

ssl_sslv2

隻有激活 ssl_enable 選項時才有效. 如果啟用,

此選項将允許使用 ssl v2 協定進行聯接. tls v1 仍為首選聯接.

ssl_sslv3

此選項将允許使用 ssl v3 協定進行聯接. tls v1 仍為首選聯接.

ssl_tlsv1

此選項将允許使用 tls v1 協定進行聯接. tls v1 仍為首選聯接.

syslog_enable

如果啟用, 任何本來應該輸出到

/var/log/vsftpd/vsftpd.log 的日志, 将會輸出到系統日志中. 記錄由 ftpd 完成.

tcp_wrappers

如果啟用, 并且在編譯 vsftpd 時加入了對 tcp_wrappers

的支援, 則連入請求轉由 tcp_wrappers 完成通路控制. 另外, 這是基于每個ip的配置機制. 如果 tcp_wrappers 設定了

vsftpd_load_conf 環境變量, 則 vsftpd 會話将會試圖加載在此變量中指定的 vsftpd 配置檔案.

text_userdb_names

預設情況下, 目錄列取時在使用者群組字段顯示的是數字id.

如果啟用此選項,則可以得到文本名稱. 基于性能的考慮, 預設情況下關閉此選項.

tilde_user_enable

如果啟用, vsftpd 将試圖解析類似 ~chris/pics

的路徑名, 即跟着使用者名的波型号. 注意, vsftpd 有時會一直解析 ~ 和 ~/ (這裡, ~ 被解析稱為初始登入路徑). ~user

則隻有在可以找到包含閑置目錄的 /etc/passwd 檔案時才被解析.

use_localtime

如果啟用, vsftpd 在列取目錄時, 将顯示您本地時區的時間.

預設顯示為 gmt. 由 mdtm ftp 指令傳回的時間同樣也受此選項的影響.

use_sendfile

一個内部設定,用于測試在您的平台上使用 sendfile() 系統的性能.

userlist_deny

此選項隻有在激活 userlist_enable 時才會有效.

如果您将此選項設定為 no, 則隻有在 userlist_file 檔案中明确指定的使用者才能登入系統. 當登入被拒絕時, 拒絕發生在被尋問指令之前.

userlist_enable

如果啟用, vsftpd 将會從 userlist_file

選項指定的檔案中加載一個使用者名清單. 如果使用者試圖使用清單中指定的名稱登入, 那麼他們将在尋問密碼前被拒絕. 這有助于阻止明文傳送密碼. 詳見

userlist_deny.

virtual_use_local_privs

如果啟用, 虛拟使用者将擁有同本地使用者一樣的權限. 預設情況下,

虛拟使用者同匿名使用者權限相同, 這傾向于更多限制 (特别是在寫權限上).

write_enable

用于控制是否允許 ftp 指令更改檔案系統. 這些指令是: stor,

dele, rnfr, rnto, mkd, rmd, appe 和 site.

xferlog_enable

如果啟用, 将會維護一個日志檔案, 用于詳細記錄上載和下載下傳. 預設情況下,

這個日志檔案是 /var/log/vsftpd.log. 但是也可以通過配置檔案中的 vsftpd_log_file 選項來指定.

xferlog_std_format

如果啟用, 傳輸日志檔案将以标準 xferlog 的格式書寫, 如同

wu-ftpd 一樣. 這可以用于重新使用傳輸統計生成器. 然而, 預設格式更注重可讀性. 此格式的日志檔案預設為 /var/log/xferlog,

但是您也可以通過 xferlog_file 選項來設定.

數字選項

下邊是數字選項的清單. 數字選項必須設定一個非負的整數.

為了便于umask選項, 同樣也支援八進制數字. 八進制數字首位應為 0 .

accept_timeout

逾時, 以秒計, 用于遠端用戶端以 pasv 模式建立資料聯接.

預設: 60

anon_max_rate

允許的最大資料傳輸速率, 機關 b/s, 用于匿名用戶端.

預設: 0 (無限制)

anon_umask

用于設定匿名使用者建立檔案時的 umask 值. 注意!

如果您要指定一個八進制的數字, 首位應當是 "0", 否則将視作 10 進制數字.

預設: 077

connect_timeout

逾時, 機關 秒, 用于響應 port 方式的資料聯接.

data_connection_timeout

逾時, 機關 秒, 用于設定空閑的資料連接配接所允許的最大時長.

如果觸發逾時, 則遠端用戶端将被斷開.

預設: 300

file_open_mode

用于設定建立上載檔案的權限. mask 的優先級高于這個設定.

如果想允許上載的檔案可以執行, 将此值修改為 0777

預設: 0666

ftp_data_port

ftp port 方式的資料聯接端口.(需要激活

connect_from_port_20 選項)

預設: 20

idle_session_timeout

逾時, 機關 秒, 遠端用戶端的最大 ftp 指令間隔. 如果逾時被觸發,

遠端用戶端将被斷開.

listen_port

如果 vsftpd 以獨立模式啟動, 此端口将會監聽 ftp 連入請求.

預設: 21

local_max_rate

允許的最大資料傳輸速率, 機關 b/s, 用于限制本地授權使用者.

local_umask

用于設定本地使用者上載檔案的 umask 值. 注意!

max_clients

如果 vsftpd 以獨立模式啟動, 此選項用于設定最大用戶端聯接數.

超過部分将獲得錯誤資訊.

max_per_ip

如果 vsftpd 以獨立模式啟動,

此選項用于設定源于同一網絡位址的最大聯接數. 超過部分将獲得錯誤資訊.

pasv_max_port

為 pasv 方式資料聯接指派的最大端口. 基于安全性考慮,

可以把端口範圍指定在一樣較小的範圍内.

預設: 0 (可以使用任意端口)

pasv_min_port

為 pasv 方式資料聯接指派的最小端口. 基于安全性考慮,

trans_chunk_size

您可能不想修改這個設定, 如果有帶寬限制, 可以嘗試将此值設定為

8192.

預設: 0 (讓vsftpd 自己選擇一個更合理的設定)

字元選項

下邊是字元選項清單

anon_root

此選項聲明, 匿名使用者在登入後将被轉向一個指定目錄(譯者注:

預設根目錄). 失敗時将被忽略.

預設: (無)

banned_email_file

此選項用于指定包含不允許用作匿名使用者登入密碼的電子郵件位址清單的檔案.

使用此選項需要啟用 deny_email_enable 選項. 

預設: /etc/vsftpd.banned_emails

banner_file

此選項用于指定包含使用者登入時顯示歡迎辨別的檔案. 設定此選項, 将取代

ftpd_banner 選項指定的歡迎辨別.

chown_username

用于指定匿名使用者上載檔案的宿主. 此選項隻有在 chown_uploads

選項設定後才會有效.

預設;root

chroot_list_file

此選項用于指定包含被限制在家目錄中使用者清單的檔案. 使用此選項, 需啟用

chroot_list_enable . 如果啟用了 chroot_local_user 選項, 此檔案所包含的則為不會被限制在家目錄中的使用者清單.

預設: /etc/vsftpd.chroot_list

cmds_allowed

此選項指定允許使用的 ftp 指令(登入以後. 以及登入前的user,

pass 和 quit), 以 逗号分割. 其它指令将被拒絕使用. 這對于鎖定一個 ftp 伺服器非常有效. 例如:

mds_allowed=pasv,retr,quit

deny_file

此選項用于設定拒絕通路的檔案類型(和目錄名等).

此設定并不是對檔案進行隐藏, 但是您不能對其操作(下載下傳, 更換目錄, 以及其它操作). 此選項非常簡單, 不能用于嚴格的通路控制--檔案系統的優先級要高一些.

然而, 此選項對于某些虛拟使用者的設定非常有效. 特别是在一個檔案可以通過各種名稱通路時(可能時通過符号聯接或者硬聯接), 應當注意拒絕所有的通路方法. 與

hide_file 中給出名稱比對的檔案會被拒絕通路. 注意 vsftpd 隻支援正規表達式比對的部分功能. 正因為如此, 您需要盡可能的對此選項的設定進行測試.

同時基于安全性考慮, 建議您使用檔案系統自身的通路控制. 例如: deny_file={*.mp3,*.mov,.private}

dsa_cert_file

此選項用于指定用于 ssl 加密聯接的 dsa 證書的位置.

預設: (無 - 使用 rsa 證書)

email_password_file

此選項用于提供啟用 secure_email_list_enable

選項, 所需要的可替代檔案.

預設: /etc/vsftpd.email_passwords

ftp_username

用于處理匿名 ftp 的使用者名. 此用的家目錄即為匿名發 ftp

的根目錄.

預設: ftp

ftpd_banner

用于替換首次連入 vsftpd 時顯示的歡迎辨別字元串.

預設: (無 - 顯示預設 vsftpd 辨別)

guest_username

參閱布爾選項 guest_enable . 此選項用于将 guest

使用者映射到一個真實使用者上.

hide_file

此選項用于設定列取目錄時, 要隐藏的檔案類型(以及目錄等). 盡管隐藏了,

知道其宿主的用戶端仍然能對檔案/目錄等有完全通路權限. 與名稱 hide_file 中包含的字元串比對的項都将隐藏. 注意 vsftpd

隻支援正規表達式比對的部分功能. 例如: hide_file={*.mp3,.hidden,hide*,h?}

listen_address

如果 vsftpd 以獨立模式運作,

此設定用于修改預設(所有本地接口)監聽位址. 格式為數字 ip 位址.

listen_address6

如 listen_address, 不過應該指定為ipv6

監聽器指定預設監聽位址. 格式為标準 ipv6 位址格式.

local_root

本選項用于指定本地使用者(即, 非匿名使用者)登入後将會轉向的目錄.

失敗時将被忽略.

message_file

此選項用于指定進入新目錄時要查詢的檔案名.

這個檔案的内容為顯示給遠端使用者的歡迎資訊. 使用此選項, 需要啟用 dirmessage_enable 選項.

預設: .message

nopriv_user

用于指定一個使用者, 當 vsftpd 要切換到無權限狀态時, 使用此使用者.

注意這最好是一個專用使用者, 而不是使用者 nobody. 在大多數機器上, 使用者 nobody 被用于大量重要的事情.

預設: nobody

pam_service_name

用于指定 pam 服務的名稱.

pasv_address

此選項為 vsftpd 指定一個 ip 位址, 用作對 pasv

指令的響應. ip 位址應該為數字模式.

預設: (無 - 即位址從連入的聯接套接字中擷取)

rsa_cert_file

此選項用于指定 ssl 加密聯接所用 rsa 證書的位置.

預設: /usr/share/ssl/certs/vsftpd.pem

secure_chroot_dir

此選項用于指定一個空目錄. 并且 ftp 使用者不應對此目錄有寫權限. 當

vsftpd 不需要通路檔案系統是, 此此目錄做為一個限制目錄, 将使用者限制在此目錄中.

預設: /usr/share/empty

ssl_ciphers

此選項用于選擇 vsftpd 允許使用哪些 ssl 加密算法來用于 ssl

加密聯接. 更多資訊參閱 ciphers 的聯機手冊. 注意這樣可以有效的防止對某些發現漏洞的算法進行惡意的遠端攻擊.

預設: 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 登入後, 将會進入(限制)目錄 /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