天天看點

Centos 5.8 vsftp配置

 FTP伺服器是一種常見的用于檔案交換的服務,目前大小公司都有在用。最近公司有需求需要搭建FTP服務,就研究了一下。

本次主要是基于vsftpd的搭建和配置。

一、vsftpd簡介:

vsftpd是一個UNIX類作業系統上運作的FTP伺服器,它可以運作在Linux、BSD、Solaris、HP-UNIX等多種作業系統上面,是一個完全免費的、開發源代碼的ftp伺服器軟體。目前主流的Linux發行版中都可以找到vsftpd的身影。

它有如下特點:

01.程式小巧輕快,安裝友善。 02.安全性和穩定性較早期FTP有很大進步。 03.配置簡單。

二、學習安裝和配置vsftpd:

實驗環境:CentOS 5.8 x86_64

測試環境關掉防火牆和selinux。

service iptables stop

setenforce 0

1、安裝vsftpd

  1. yum -y install vsftpd

2、vsftpd相關的目錄及配置檔案

  1. /usr/sbin/vsftpd vsftpd主程式。
  2. /etc/init.d/vsftpd vsftpd服務控制腳本。
  3. /etc/pam.d/vsftpd 這個是vsftpd使用PAM子產品時的相關配置檔案,主要用來驗證登陸FTP使用者賬号的身份。
  4. /etc/vsftpd/ 配置檔案目錄。
  5. /etc/vsftpd/vsftpd.conf vsftpd服務主配置檔案,使用方法:參數=設定值。
  6. /etc/vsftpd/ftpusers 與PAM子產品的配置檔案配合使用,主要填寫FTP使用者賬号,一行一個。
  7. /etc/vsftpd/user_list vsftpd服務自己的使用者賬戶控制檔案,與vsftpd.conf配置檔案中的userlist_enable、userlist_deny兩個參數有關。
  8. /var/ftp/ 預設匿名使用者根目錄。

3、主配置檔案vsftpd.conf詳解

  1. 與伺服器環境較相關的設定值
  2. connect_from_port_20=YES (NO)
  3. 主動式連接配接時使用FTP伺服器的端口号,就是FTP-date的端口号。
  4. listen_port=21
  5. vsftpd控制端口。
  6. dirmessage_enable=YES (NO)
  7. 當使用者進入某個目錄時,是否顯示該目錄需要注意的内容,顯示資訊的檔案預設是 .message 。
  8. message_file=.message
  9. 當 dirmessage_enable=YES 時,可以修改預設顯示資訊檔案的檔案名。
  10. listen=YES (NO)
  11. 設定為YES表示以stand alone方式啟動伺服器,設定為NO則表示以super deamon的方式啟動伺服器。
  12. pasv_enable=YES (NO)
  13. 啟動被動模式(passive mode),一定要設定為YES。
  14. use_localtime=YES (NO)
  15. 啟用本地時間,一般需要設定為YES。因為vsFTPd預設使用GMT格林威治時間,這比東八區的時間早了8個小時,會使得伺服器上的檔案時間屬性出現混亂。
  16. write_enable=YES (NO)
  17. 是否允許使用者上傳資料。
  18. connect_timeout=60
  19. 在資料連接配接主動模式下,發出的連接配接信号在60秒内沒有得到用戶端的響應,則強制斷線。
  20. accept_timeout=60
  21. 在使用者以PASV被動模式進行資料傳輸時,如果主機啟動passive port并等待用戶端超過60秒無回應,就強制斷線。
  22. data_connection_timeout=300
  23. 在用戶端和伺服器的資料連接配接已經建立的情況下,如果在300秒内還是無法順利完成資料傳輸,則用戶端的連線會被vsFTPd強制斷開。
  24. idle_session_timeout=300
  25. 如果使用者在300秒内沒有指令操作,則斷線。
  26. max_clients=0
  27. 當vsFTPd以stand alone模式運作時,這個參數決定同一個IP、同一時間内被伺服器允許的連接配接數。
  28. max_per_ip=0
  29. 與上面 max_clients 類似,這裡是同一個 IP 同一時間可允許多少聯機?
  30. pasv_min_port=0, pasv_max_port=0
  31. 這兩個參數指定pasv模式使用的端口号的範圍,0表示不限制。
  32. ftpd_banner=一些文字說明
  33. 用登入FTP時,顯示的歡迎資訊,可設定顯示的資訊内容較少。
  34. banner_file=/path/file
  35. 這個參數可以彌補FTPd_banner參數的不足,特别是當需要在伺服器端展示較多的文字資訊時(如站點說明,歡迎文字等等)。
  36. 與實體使用者較相關的設定值
  37. guest_enable=YES (NO)
  38. 開啟訪客使用者,如果開啟則所有的非匿名使用者的均會被假設成訪客身份。訪客預設情況下使用FTP這個賬戶相關的權限設定,但是可以通過參數guest_username來修改。
  39. guest_username=ftp
  40. 在開啟了guest_enable=YES之後才會生效,用來指定訪客的身份。
  41. local_enable=YES (NO)
  42. 是否允許/etc/passwd中存在的實體使用者帳号登陸vsFTPd伺服器。
  43. local_max_rate=0
  44. 實體使用者的傳輸速度限制,機關為bytes/second,0表示不限制。
  45. chroot_local_user=YES (NO)
  46. 将實體使用者限制在自己的家目錄之内,預設值為NO。
  47. chroot_list_enable=YES (NO)、chroot_list_file=/etc/vsftpd.chroot_list
  48. 這兩個參數需要配合使用,用以将chroot_list檔案中列出的使用者限制在自己的預設目錄中。
  49. userlist_enable=YES (NO)、userlist_deny=YES (NO)、userlist_file=/etc/vsftpd/user_list
  50. 參數userlist_enable=YES表示借助vsFTPd的阻止機制來處理user_list檔案中列出的某些不受歡迎的帳号;當userlist_deny=YES時user_list檔案中的帳号将被拒絕,當userlist_deny=NO時則表示允許user_list中的帳号登陸伺服器;
  51. 匿名者登入的設定值
  52. anonymous_enable=YES (NO)
  53. 是否允許匿名賬戶anonymous登入,以下參數均在允許情況下生效。
  54. anon_world_readable_only=YES (NO)
  55. 是否允許匿名使用者具有隻讀權限。
  56. anon_other_write_enable=YES (NO)
  57. 是否允許匿名賬戶具有可寫權限。
  58. anon_mkdir_write_enable=YES (NO)
  59. 是否允許匿名使用者具有建立目錄的權限。
  60. anon_upload_enable=YES (NO)
  61. 是否允許匿名使用者具有上傳檔案的權限。
  62. deny_email_enable=YES (NO)
  63. 若是啟動這項功能,則必須提供一個檔案/etc/vsftpd/banner_emails,内容為email address。若是使用匿名登入,則會要求輸入email address,若輸入的email address 在此檔案内,則不允許進入。預設值為NO。
  64. banned_email_file=/etc/vsftpd/banned_emails
  65. 如果 deny_email_enable=YES 時,可以利用這個設定項目來規定哪個 email address 不可登入我們的 vsftpd 喔!在上面設定的檔案内,一行輸入一個 email address 即可!
  66. no_anon_password=YES (NO)
  67. 此檔案用來輸入email address,隻有在deny_email_enable=YES時,才會使用到此檔案。若是使用匿名登入,則會要求輸入email address,若輸入的email address 在此檔案内,則不允許進入。
  68. anon_max_rate=0
  69. 設定匿名登入者使用的最大傳輸速度,機關為B/s,0 表示不限制速度。預設值為0。
  70. anon_umask=077
  71. 設定匿名登入者新增或上傳檔案時的umask 值。預設值為077,則建立檔案的對應權限為700。
  72. 關于系統安全方面的一些設定值
  73. ascii_download_enable=YES (NO)
  74. 設定是否啟用ASCII 模式下載下傳資料。預設值為NO。
  75. ascii_upload_enable=YES (NO)
  76. 設定是否啟用ASCII 模式上傳資料。預設值為NO
  77. one_process_model=YES (NO)
  78. 是否使用單程序模式
  79. tcp_wrappers=YES (NO)
  80. 設定vsftpd是否與tcp wrapper相結合來進行主機的通路控制。預設值為YES。如果啟用,則vsftpd伺服器會檢查/etc/hosts.allow 和/etc/hosts.deny 中的設定,來決定請求連接配接的主機,是否允許通路該FTP伺服器。這兩個檔案可以起到簡易的防火牆功能。
  81. xferlog_enable=YES (NO)
  82. 是否啟用上傳/下載下傳日志記錄。如果啟用,則上傳與下載下傳的資訊将被完整紀錄在xferlog_file 所定義的檔案中。預設為開啟。
  83. xferlog_file=/var/log/xferlog
  84. 設定日志檔案名和路徑,預設值為/var/log/vsftpd.log。
  85. xferlog_std_format=YES (NO)
  86. 如果啟用,則日志檔案将會寫成xferlog的标準格式,如同wu-ftpd 一般。預設值為關閉。
  87. dual_log_enable=YES, vsftpd_log_file=/var/log/vsftpd.log
  88. 如果啟用該選項,将生成兩個相似的日志檔案,預設在 /var/log/xferlog 和 /var/log/vsftpd.log 目錄下。前者是 wu-ftpd 類型的傳輸日志,可以利用标準日志工具對其進行分析;後者是Vsftpd類型的日志。
  89. nopriv_user=nobody
  90. 預設vsftpd服務的運作賬戶。
  91. pam_service_name=vsftpd
  92. 設定PAM使用的名稱,預設值為/etc/pam.d/vsftpd。

繼續閱讀