vsftp 設定

hzczichao發表於2010-07-07

  1.安裝vsftpd

  yum install vsftpd

  2.啟動/重啟/關閉vsftpd伺服器

[@more@]

  [root@localhost ftp]# /sbin/service vsftpd restart

  Shutting down vsftpd: [ OK ]

  Starting vsftpd for vsftpd: [ OK ]

  OK表示重啟成功了.

  啟動和關閉分別把restart改為start/stop即可.

  如果是原始碼安裝的,到安裝資料夾下找到start.sh和shutdown.sh檔案,執行它們就可以了.

  3.與vsftpd伺服器有關的檔案和資料夾

  vsftpd伺服器的配置檔案的是: /etc/vsftpd/vsftpd.conf

  vsftpd伺服器的根目錄,即FTP伺服器的主目錄:

  [root@localhost ftp]# more /etc/passwd|grep ftp

  ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

  這樣你就能看到FTP的伺服器的目錄在/var/ftp處

  如果你想修改伺服器目錄的路徑,那麼你只要修改/var/ftp到別處就行了

  4.新增FTP本地使用者

(有時候最好新建使用者和組,不要用ftp組和使用者)

  有的FTP伺服器需要使用者名稱和密碼才能登入,就是因為設定了FTP使用者和許可權.

  FTP使用者一般是不能登入系統的,只能進入FTP伺服器自己的目錄中,這是為了安全.這樣的使用者就叫做虛擬使用者了.實際上並不是真正的虛擬使用者,只是不能登入SHELL了而已,沒能力登入系統.

  /usr/sbin/adduser -d /opt/ftp -g ftp -s /sbin/nologin ftpuser

  這個命令的意思是:

  使用命令(adduser)新增ftpuser使用者,不能登入系統(-s /sbin/nologin),自己的資料夾在(-d /opt/ftp)),屬於組ftp(-g ftp)

  然後你需要為它設定密碼 passwd ftp

  這樣就新增了一個FTP使用者了.下面的示例可以幫助你進入FTP伺服器了.

  要保證自己能讀寫自己的目錄,就要在配置檔案vsftpd.conf裡設定一下就可以讀寫了.

  local_enable=yes

  write_enable=yes

  local_umask=022

  5.匿名上傳下載

  修改配置檔案即可vsftpd.conf,確定有以下幾行,沒有自己新增進去就可以了.

  anonymous_enable=yes

  anon_upload_enable=yes

  anon_mkdir_write_enable=yes

  anon_umask=022

  然後你可以新建一個資料夾,修改它的許可權為完全開放,任何使用者就可以登入這個資料夾,並上傳下載檔案:

  mkdir /var/ftp/guest

  chmod 777 /var/ftp/guest

  6.定製進入FTP伺服器的歡迎資訊

  在vsftpd.conf檔案中設定:

  dirmessage_enable=yes

  然後進入使用者目錄建立一個.message檔案,輸入歡迎資訊即可。

  7.實現虛擬路徑

  將某個目錄掛載到FTP伺服器下供使用者使用,這就叫做虛擬路徑.

  比如將gxl使用者的目錄掛載到FTP伺服器中,供FTP伺服器的使用者使用,使用如下命令即可:

  [root@localhost opt]# mount –bind /home/gxl /var/ftp/pub #使用掛載命令

  [root@localhost opt]# ls /var/ftp/pub

  LumaQQ Screenshot.png 桌面

  8.開啟vsFTPd的日誌功能

  新增下面一行到vsftpd.conf檔案中,一般情況下該檔案中有這一行,只要把前面的註釋符號#去掉即可,沒有的話就新增,或者修改:

  xferlog_file=/var/log/vsftpd.log

  9.限制連結數,以及每個IP最大的連結數

  修改配置檔案中,例如vsftp最大支援連結數100個,每個IP能支援5個連結:

  max_client=100

  max_per=5

  10.限制傳輸速度

  修改配置檔案中,例如讓匿名使用者和vsftd上的使用者(即虛擬使用者)都以80KB=1024*80=81920的速度下載

  anon_max_rate=81920

  local_max_rate=81920

  11.將使用者(一般指虛擬使用者)限制在自家目錄

  修改配置檔案中,這樣使用者就只能訪問自己家的目錄了:

  chroot_local_user=yes

  如果只想某些使用者僅能訪問自己的目錄,其它使用者不做這個限制,那麼就需要在chroot_list檔案(此檔案一般是在/etc/vsftpd/中)中新增此使用者.

  編輯此檔案,比如將test使用者新增到此檔案中,那麼將其寫入即可.一般的話,一個使用者佔一行.

  [root@localhost vsftpd]# cat chroot_list

  ftpuser

  12.繫結某個IP到vsFTPd

  有時候要限制某些IP訪問伺服器,只允許某些IP訪問,例如只允許192.168.0.33訪問這個FTP,同樣修改配置檔案:

  listen_address=192.168.0.33

  配置vsftpd.conf

  anonymous_enable=NO #禁止匿名

  local_enable=YES #允許本地登入

  write_enable=YES #允許寫,如需上傳,則必須

  local_umask=027 #將上傳檔案的許可權設定為:777-local_umask

  anon_upload_enable=YES #允許虛擬使用者和匿名使用者上傳

  anon_other_write_enable=YES #允許虛擬使用者和匿名使用者修改檔名和刪除檔案

  dirmessage_enable=YES

  xferlog_enable=YES #開啟日誌記錄

  connect_from_port_20=YES

  xferlog_file=/var/log/vsftpd.log #日誌存放位置

  xferlog_std_format=YES #標準日誌格式

  idle_session_timeout=600 #空閒連線超時

  data_connection_timeout=120

  ftpd_banner=Welcome to ChinaRise FTP service #歡迎資訊

  guest_enable=yes #允許虛擬使用者

  guest_username=vsftpdguest #虛擬使用者使用的系統賬號

  virtual_use_local_privs=YES #虛擬使用者擁有本地系統許可權

  chroot_local_user=NO

  chroot_list_enable=YES

  #以上兩行將虛擬使用者限制在其目錄下,不能訪問其他目錄,或者直接用

  chroot_local_user=YES

  listen=yes #監聽/被動模式

  listen_port=21 #監聽埠

  chroot_list_file=/etc/vsftpd/vsftpd.chroot_list #虛擬使用者名稱單儲存在檔案/etc/vsftpd/vsftpd.chroot_list 中

  user_config_dir=/etc/vsftpd/vsftpd_user_conf #每個虛擬使用者名稱的更加詳細的培植儲存在/etc/vsftpd/vsftpd_user_conf 中

  虛擬使用者其他設定

  在/etc/vsftpd/vsftpd.chroot_list 檔案中寫入允許登陸的虛擬使用者名稱稱,每行一個

  在/etc/vsftpd/vsftpd_user_conf 資料夾中建立一個以虛擬使用者使用者名稱命名的檔案,

  寫入:local_root = /var/FTP/子目錄名

  然後在/var/FTP下建立一個對應的目錄即可

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23595918/viewspace-1035048/,如需轉載,請註明出處,否則將追究法律責任。

相關文章