vsftpd配置文件詳解

                         vsftpd配置文件詳解

### 主配置文件(/etc/vsftpd/vsftpd.conf)
圖片 


嚴格來說,整個 vsftpd 的配置文件就只有這個檔案!這個檔案的設定是以 bash
的變量設定相同的方式來處理的, 也就是`參數=設定值`來設定的,注意,
等號兩邊不能有空白,至於詳細的 vsftpd.conf 可以使用 `man  vsftpd.conf` 來詳查。
 


#### 與服務器環境較相關的設定值

1. connect_from_port_20=YES (NO)

ftp-data 的端口號

2. listen_port=21

vsftpd 使用的命令通道 port,如果你想要使用非正規的端口號,這個設置。
不過你必須要知道,這個設定值僅適合以 stand alone 的方式來啓動!
(對於 super daemon 無效)

3. dirmessage_enable=YES (NO)

當用戶進入某個目錄時,會顯示該目錄需要注意的內容,顯示的檔案默認
是 `.message` ,你可以使用第四個設置來修改。

4. message_file=.message

當 dirmessage_enable=YES 時,可以修改這個設置來讓 vsftpd 尋找該文件來顯示消息!

5. listen=YES (NO)

若設置爲 YES 表示 vsftpd 是以 stand alone 的方式來啓動的!預設是 NO!
所以我們的 CentOS 將它改爲 YES!這樣才能使用 stand alone 的方式來喚醒。

6. pasv_enable=YES (NO)

支持數據流的被動式聯機模式(passive mode),一定要設定爲 YES!

7. use_localtime=YES (NO)

是否使用本地時間?vsftpd 預設使用 GMT 時間(格林威治),所以預設的 FTP
的日期會比中國晚 8 小時,建議修改設定爲 YES !

8. write_enable=YES (NO)

如果你允許用戶上傳數據時,就要啓動這個設定值

9. connect_timeout=60

單位是秒,在數據連接的主動式聯機模式下,我們發出的連接訊號在 60 秒內得
不到客戶端的響應,則不等待並強制斷線。

10. accept_timeout=60

當用戶以被動式 PASV 來進行數據傳輸時,如果服務器啓用 passive port 並等
待 client 超過 60
秒而無迴應, 那麼就給他強制斷線!這個設定值與
connect_timeout 類似,不過一個是管理主動聯機,一個管理被動聯機。

11. data_connection_timeout=300

如果服務器與客戶端的數據聯機已經成功建立 (不論主動還是被動聯機),但是
可能由於線路問題導致 300 秒內還是無法順利的完成數據的傳送,那客戶端的
聯機就會被我們的 vsftpd 強制剔除!

12. idle_session_timeout=300

如果使用者在 300 秒內都沒有命令動作,強制脫機!

13. max_clients=0
如果 vsftpd 是以 stand alone 方式啓動的,那麼這個設定項目可以設定同一
時間,最多有多少 client 可以同時連上 vsftpd !限制使用 FTP 的用量!

14. max_per_ip=0

與上面 max_clients 類似,這裏是同一個 IP 同一時間可允許多少聯機

15. pasv_min_port=0, pasv_max_port=0

上面兩個是與 passive mode 使用的 port number 有關,如果你想要使用 65400
到 65410 這 11 個 port 來進行被動式聯機模式的連接,可以這樣設定
pasv_max_port=65410 以及 pasv_min_port=65400。 如果是 0 的話,表示隨機
取用而不限制。

16. ftpd_banner=一些文字說明

當使用者聯機進入到 vsftpd 時,在 FTP 客戶端軟件上頭會顯示的說明文字。
不過,這個設定值數據比較少啦! 建議你可以使用底下的 banner_file 設定值
來取代這個設置

17. banner_file=/path/file


這個設置可以指定某個純文本檔作爲使用者登入 vsftpd 服務器時所顯示的歡
迎消息。同時,也能夠放置一些讓使用者知道本 FTP 服務器的目錄架構!

#### 與實體用戶較相關的設定值

1. guest_enable=YES (NO)

若這個值設定爲 YES 時,那麼任何實體賬號,均會被假設成爲 guest (所以
預設是不開放的)! 至於訪客在 vsftpd 當中,預設會取得 ftp 這個使用者的
相關權限。但可以通過 guest_username 來修改。

2. guest_username=ftp

在 guest_enable=YES 時纔會生效,指定訪客的身份。

3. local_enable=YES (NO)

這個設定值必須要爲 YES 時,在 /etc/passwd 內的賬號才能以實體用戶的方式
登入我們的 vsftpd 服務器!

4. local_max_rate=0

實體用戶的傳輸速度限制,單位爲 bytes/second, 0 爲不限制。

5. chroot_local_user=YES (NO)

在預設的情況下,是否要將使用者限制在自己的家目錄之內(chroot),如果是
YES 代表用戶默認就會被 chroot,如果是 NO, 則預設是沒有 chroot。不過,
實際還是需要底下的兩個參數互相參考才行。爲了安全性,這裏應該要設定成
YES 纔好。

6. chroot_list_enable=YES (NO)

是否啓用 chroot 寫入列表的功能?與下面的 chroot_list_flie 有關!這個項設置
要開啓,否則底下的列表文件會無效。

7. chroot_list_file=/etc/vsftpd.chroot_list

如果 chroot_list_enable=YES 那麼就可以設定這個項目了!這個項目與
chroot_local_user 有關。

8. userlist_enable=YES (NO)

是否藉助 vsftpd 的抵擋機制來處理某些不受歡迎的賬號,與下面的參數設置有關

9. userlist_deny=YES (NO)

當 userlist_enable=YES 時纔會生效的設定,若此設定值爲 YES 時,則當使用
者賬號被列入到相應的文件時, 在該文件內的使用者將無法登入 vsftpd 服務器!
該文件名與下面設置有關。

10. userlist_file=/etc/vsftpd/user_list

若上面 userlist_deny=YES 時,則這個設置就有用處了!在這個文件內的賬號
都無法使用 vsftpd !


#### 匿名者登入的設定值

1. anonymous_enable=YES (NO)

設定爲允許 anonymous 登入我們的 vsftpd 主機!預設是 YES ,下面的所有相
關設置都需要將這個設置爲 anonymous_enable=YES 之後纔會生效!

2. anon_world_readable_only=YES (NO)

僅允許 anonymous 具有下載可讀文件的權限,預設是 YES。

3. anon_other_write_enable=YES (NO)

是否允許 anonymous 具有除了寫入之外的權限?包括刪除與改寫服務器上的文件及文件名等權限。
預設是 NO!如果要設定爲 YES,那麼開放給 anonymous 寫入的目錄亦需要調整權限,
讓 vsftpd 的 PID 擁有者可以寫入才行!

4. anon_mkdir_write_enable=YES (NO)

是否讓 anonymous 具有建立目錄的權限?默認值是 NO!如果要設定爲 YES,
那麼 anony_other_write_enable 必須設置爲 YES !

5. anon_upload_enable=YES (NO)


是否讓 anonymous 具有上傳數據的功能,默認是 NO,如果要設定爲 YES ,
則 anon_other_write_enable=YES 必須設置。

6. deny_email_enable=YES (NO)

將某些特殊的 email address 抵擋住,不讓那些 anonymous 登入!如果以
anonymous 登入服務器時,不是會要求輸入密碼嗎?密碼不是要你輸入你的
email address 嗎?如果你很討厭某些 email address, 就可以使用這個設定
來將他取消登入的權限!需與下個設定項目配合

7. banned_email_file=/etc/vsftpd/banned_emails

如果 deny_email_enable=YES 時,可以利用這個設置來規定哪個 email
address 不可登入我們的 vsftpd !在上面設置的文件內,一行輸入一個
email address 即可!


8. no_anon_password=YES (NO)

當設定爲 YES 時,表示 anonymous 將會略過密碼檢驗步驟,而直接進入 vsftpd
服務器內!所以一般預設都是 NO 的!(登入時會檢查輸入的 emai)

9. anon_max_rate=0

這個設定值後面接的數值單位爲 bytes/秒 ,限制 anonymous 的傳輸速度,
如果是 0 則不限制(由最大帶寬所限制),如果你想讓 anonymous 僅有 30 KB/s
的速度,可以設定`anon_max_rate=30000`

10. anon_umask=077

限制 anonymous 上傳文件的權限!如果是 077 則 anonymous 傳送過來的文件
權限會是 -rw-------

#### 關於系統安全方面的一些設定值

1. ascii_download_enable=YES (NO)

如果設定爲 YES ,那麼 client 就優先 (預設) 使用 ASCII 格式下載文件。

2. ascii_upload_enable=YES (NO)

與上一個設定類似的,只是這個設定針對上傳而言!預設是 NO

3. one_process_model=YES (NO)

這個設置比較危險一點,當設定爲 YES 時,表示每個建立的聯機都會擁有
一個 process 在負責,可以增加 vsftpd 的效能。不過,除非你的系統比較安
全,而且硬件配備比較高,否則容易耗盡系統資源喔!一般建議設定爲 NO!

4. tcp_wrappers=YES (NO)

當然我們都習慣支持 TCP Wrappers 的!所以設定爲 YES!

5. xferlog_enable=YES (NO)


當設定爲 YES 時,使用者上傳與下載文件都會被紀錄起來。記錄的文件與下一
個設置有關

6. xferlog_file=/var/log/xferlog

如果上一個 xferlog_enable=YES 的話,這裏就可以設定了!
這個是登錄文件的文件名。

7. xferlog_std_format=YES (NO)

是否設定爲 wu ftp 相同的登錄文件格式?預設爲 NO ,因爲登錄文件會比較容易讀!
不過,如果你有使用 wu ftp 登錄文件的分析軟件,這裏才需要設定爲 YES!

8. dual_log_enable=YES, vsftpd_log_file=/var/log/vsftpd.log

除了 /var/log/xferlog 的 wu-ftp 格式登錄文件之外,還可以具有 vsftpd 的獨
特登錄文件格式喔!如果你的 FTP 服務器並不是很忙碌, 或許訂出兩個登錄文件的
撰寫 (/var/log/{vsftpd.log,xferlog) 是不錯的。

9. nopriv_user=nobody

我們的 vsftpd 預設以 nobody 作爲此一服務執行者的權限。因爲 nobody 的權
限相當的低,因此即使被***,***者僅能取得 nobody 的權限!

10. pam_service_name=vsftpd

這個是 pam 模塊的名稱,我們放置在 /etc/pam.d/vsftpd 即是這個!

### vsftpd的主程序(/usr/sbin/vsftpd) 

### 啓動腳本(/etc/rc.d/init.d/vsftpd)  

### PAM認證文件(/etc/pam.d/vsftpd)

這個是 vsftpd 使用 PAM 模塊時的相關配置文件。主要用來作爲身份認證之用,
還有一些用戶身份的抵擋功能,也是透過這個檔案來達成的。
此文件中file=/etc/vsftpd/ftpusers字段,指明阻止訪問的用戶來自/etc/vsftpd/ftpusers文件中的用戶

### 黑名單(/etc/vsftpd/ftpusers)

與上一個檔案有關係,也就是 PAM 模塊 (/etc/pam.d/vsftpd) 所指定的那個無
法登入的用戶配置文件啊! 這個檔案的設定很簡單,你只要將 不想讓用戶登入
FTP 的賬號 寫入這個檔案即可。一行一個賬號。大部分的系統帳號都在這。


禁止使用vsftpd的用戶列表文件。記錄不允許訪問FTP服務器的用戶名單,管理員可以把一些對系統安全有威脅的用戶賬號記錄在此文件中,以免用戶從FTP登錄後獲得大於上傳下載操作的權利,而對系統造成損壞。(注意:linux-4中此文件在/etc/目錄下)

### 白名單(/etc/vsftpd/user_list)

這個檔案是否能夠生效與 vsftpd.conf 內的兩個參數有關,分別是
userlist_enable, userlist_deny。 如果說 /etc/vsftpd/ftpusers 是
PAM 模塊的抵擋設定項目,那麼這個 /etc/vsftpd/user_list 則是 vsftpd 自
定義的抵擋項目。事實上這個檔案與 /etc/vsftpd/ftpusers 幾乎一模一樣, 在
預設的情況下,你可以將不希望可登入 vsftpd 的賬號寫入這裏。不過這個檔案
的功能會依據 vsftpd.conf 配置文件內的 userlist_deny={YES/NO} 而不同。
(注意:linux-4中此文件在/etc/目錄下)

### 限制用的家目錄(/etc/vsftpd/chroot_list)

這個檔案預設是不存在的,所以你必須要手動自行建立。這個檔案的主要功能是
可以將某些賬號的使用者 chroot 在他們的家目錄下!但這個檔案要生效與
vsftpd.conf 內的`chroot_list_enable, chroot_list_file`兩個參數有關。
如果你想要將某些實體用戶限制在他們的家目錄下而不許到其他目錄去,可以啓
動這個設定!


### 匿名用戶主目錄(/var/ftp)

其實與 ftp 這個賬號的家目錄有關
本地用戶主目錄爲:/home/用戶主目錄,即登錄後進入自己家目錄 

### (匿名用戶的下載目錄)/var/ftp/pub

此目錄需賦權根chmod 1777 pub(1爲特殊權限,使上載後無法刪除)

### 日誌文件(/etc/logrotate.d/vsftpd.log)

http://user.qzone.qq.com/1547462309/blog/1455605836

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