歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> vsftpd 配置

vsftpd 配置

日期:2017/3/1 18:10:56   编辑:Linux技術
0、關於本文檔
  本文檔是個人的學習整理。允許大家翻閱,摘抄,引用。更歡迎指出其中不對之處。文檔的內容主要來自VSFTPD自身文檔、個人學習心得以及網絡資料,若有類同,實屬正常,∶)。
  本文檔基於RedHat Linux 9和VSFTPD-1.1.3-8。如果有不同版本,則有專門文字說明。
1、VSFTPD簡述
  如果試問哪種FTP服務器最安全?那麼在UNIX和Linux中,首推的就是VSFTP(Very Secure FTP Daemon,非常安全的FTP服務器)。顧名思義,VSFTPD設計的出發點就是安全性。同時隨著版本的不斷升級,VSFTPD在性能和穩定性上也取得了極大的進展。象RedHat、SUSE、Debian、GNU、GNOME、KDE等一些大型站點都采用VSFTPD作為它們的FTP服務器。大家可以到http://vsftpd.beasts.org/了解它的最新情況。
2、VSFTPD的安裝
2.1、RHL9+vsftpd-.1.1.3-8.i386.rpm包的安裝
  VSFTPD的安裝很簡單。在RHL9中,在圖形界面下依次執行“Main Menu”-“System Settings”-“Add/Remove Applications”-選擇FTP服務器-“更新”,或者在字符界面中執行以下命令,就可以完成安裝。
  rpm -ivh vsftpd-1.1.3-8.i386.rpm
2.2、vsftpd-1.2.0.tar.gz的安裝
  ⑴准備條件
  VSFTPD默認配置中需要“nobody”用戶。在系統中添加此用戶,如果用戶已經存在,useradd命令有相應提示。
  [root@hpe45 root]# useradd nobody
  useradd: user nobody exists
  VSFTPD默認配置中需要“/usr/share/empty”目錄。在系統中此目錄,如果目錄已經存在,mkdir命令有相應提示。
  [root@hpe45 root]# mkdir /usr/share/empty/
  mkdir: cannot create directory '/usr/share/empty': File exists
  VSFTPD提供匿名FTP服務時,需要“ftp”用戶和一個有效的匿名目錄。
  [root@hpe45 root]# mkdir /var/ftp/
  [root@hpe45 root]# useradd -d /var/ftp ftp
  接下來的操作對於ftp用戶是否已經存在都是有用的。
  [root@hpe45 root]# chown root.root /var/ftp
  [root@hpe45 root]# chmod og-w /var/ftp
  ⑵編譯VSFTPD
  從官方站點下載到/root目錄,執行以下命令:
  [root@hpe45 root]# tar zxvf vsftpd-1.2.0.tar.gz
  [root@hpe45 root]# cd vsftpd-1.2.0
  [root@hpe45 vsftpd-1.2.0]# make
  ⑶安裝編譯好的VSFTPD
  執行“make install”將編譯好的二進制文件、手冊等復制到相應目錄。在RHL9上,可能需要手動執行以下復制:
  [root@hpe45 vsftpd-1.2.0]# cp vsftpd /usr/local/sbin/vsftpd
  [root@hpe45 vsftpd-1.2.0]# cp vsftpd.conf.5 /usr/local/share/man/man5
  [root@hpe45 vsftpd-1.2.0]# cp vsftpd.8 /usr/local/share/man/man8
  此外,“make install”沒有復制簡單的配置文件,建議執行以下命令:
  [root@hpe45 vsftpd-1.2.0]# cp vsftpd.conf /etc
  ⑷為本地用戶設置PAM
  如果允許本地用戶登錄VSFTPD,執行以下操作:
  [root@hpe45 vsftpd-1.2.0]# cp RedHat/vsftpd.pam /etc/pam.d/ftp
3、VSFTPD的文件結構
  VSFTPD的文件結構是很簡潔的,主要包括:
  /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 ---- 匿名用戶主目錄
  /var/ftp/pub      ---- 匿名用戶的下載目錄
  此外,還有一些說明文檔和手冊文件。
  此外VSFTPD的日志文件位於/etc/logrotate.d/vsftpd.log。
4、VSFTPD的啟動與停止
  VSFTPD可以單獨(Standalone)方式運行,如同httpd、named這類的服務器的運行方式,這是RHL9中默認的方式;也可以采用xinetd方式運行,這是RHL7.x、8中的默認方式。具體的運行方式由參數listen決定。從RHL中VSFTPD的運行方式,也可以看出VSFTPD的逐步發展。
  當listen參數值為YES時,RHL9中的默認值,VSFTPD單獨運行,我們可以使用腳本/etc/rc.d/init.d/vsftpd來啟動、關閉以及重啟VSFTPD。命令如下:
  /etc/rc.d/init.d/vsftpd start|stop|restart
  如果說在RHL9上,您還希望使用Xinetd啟動VSFTPD的運行方式,那麼首先要將vsftpd.conf配置文件中的listen參數值改為NO。其次,生成一個/etc/xinetd.d/vsftpd文件,內容如下:
  service vsftpd
  {
  disable = no
  socket_type = stream
  wait = no
  user = root
  server = /usr/sbin/vsftpd
  port = 21
  log_on_success += PID HOST DURATION
  log_on_failure += HOST
  }
  通過修改disable值為no或yes,並重新啟動xinetd,從而啟動或停止VSFTPD。
  由於VSFTPD的單獨模式已經擁有足夠的能力,所以後面6中討論到的應用,都是以單獨模式來運行的,而非Xinetd方式。
  注:還可以直接執行vsftpd來啟動FTP服務,關閉時使用“kill”命令。
  [root@hpe45 root]# /usr/local/sbin/vsftpd &
5、VSFTPD的設置選項
  VSFTPD的配置文件/etc/vsftpd/vsftpd.conf是個文本文件。以“#”字符開始的行是注釋行。每個選項設置為一行,格式為“option=value”,注意“=”號兩邊不能留空白符。除了這個主配置文件外,還可以給特定用戶設定個人配置文件,具體介紹見後。
  VSFTPD包中所帶的vsftpd.conf文件配置比較簡單,而且非常偏執狂的(文檔自稱:-))。我們可以根據實際情況對其進行一些設置,以使得VSFTPD更加可用。
5.1、連接選項 上一頁12 3 4 5 6 下一頁 閱讀全文
Copyright © Linux教程網 All Rights Reserved