熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

redhat linux 9.0 VSFTP配置大權

2013-11-13 16:16:37  來源: Oracle 

   VSFTP—安全與效能兼備的ftp 服務器
   VSFTP 概述
  FTPfile transfer protocol這是檔案傳輸的通訊協議也是一般最常用來傳送檔案的方式讀者在使用RedHat 的時候可能會感受到ftp server 有一些改變第一就是ftp server 只剩下vsftp原有的wuftp 等都沒放入﹔第二就是vsftp 從XINETD 中獨立出來並將設定檔從/etc/nf 之中移到/etc/vsftpd/nf
  為什麼做這樣的改變?可以想見的是vsftp 已有獨立運作的能力不需要XINETD 來做更進一步的管控並且類似sendmailhttpdsshsamba 等將設定文件的放入/etc 下獨立的目錄
  FTP 分為兩類一種為PORT FTP也就是一般的FTP﹔另一類是PASVFTP分述如下 PORT FTP
  這是一般形式的FTP首先會建立控制頻道默認值是port 也就是跟
  port 建立聯機並透過此聯機下達指令第二由FTP server 端會建立數據
  傳輸頻道默認值為也就是跟port 建立聯機並透過port 作數據的
  傳輸
  PASV FTP
  跟PORT FTP 類似首先會建立控制頻道默認值是port 也就是跟
  port 建立聯機並透過此聯機下達指令第二會由client 端做出數據傳輸
  的請求包括數據傳輸port 的數字
  這兩者的差異為何?PORT FTP 當中的數據傳輸port 是由FTP server 指定
  而PASV FTP 的數據傳輸port 是由FTP client 決定通常我們使用PASV FTP
  是在有防火牆的環境之下透過client 與server 的溝通決定數據傳輸的port
   范例
   直接啟動VSFTP 服務
  這個范例是套用RedHat 的預設范例直接啟動vsftp
  [root@relay vsftpd]# /sbin/service vsftpd start
  Starting vsftpd for vsftpd: OK ]
   更換port 提供服務將預設的port 更換為
  為了安全或是以port 來區隔不同的ftp 服務我們可能會將ftp port 改為
   之外的port那麼可參考以下步驟
  Step 修改/etc/vsftpd/nf
  新增底下一行
  listen_port=
  Step 重新啟動vsftpd
  [root@home vsftpd]# /sbin/service vsftpd restart
  Shutting down vsftpd: OK ]
  Starting vsftpd for vsftpd: OK ]
   特定使用者peterjohn 不得變更目錄
  使用者的預設目錄為/home/username若是我們不希望使用者在ftp 時能夠
  切換到上一層目錄/home則可參考以下步驟
  Step 修改/etc/vsftpd/nf
  將底下三行
  #chroot_list_enable=YES
  # (default follows)
  #chroot_list_file=/etc/vsftpdchroot_list
  改為
  chroot_list_enable=YES
  # (default follows)
  chroot_list_file=/etc/vsftpd/chroot_list
  Step 新增一個檔案: /etc/vsftpd/chroot_list
  內容增加兩行
  peter
  john
  Step 重新啟動vsftpd
  [root@home vsftpd]# /sbin/service vsftpd restart
  Shutting down vsftpd: OK ]
  Starting vsftpd for vsftpd: OK ]
  若是peter 欲切換到根目錄以外的目錄則會出現以下警告
  ftp> cd /home
   Failed to change directory
   取消anonymous 登入
  若是讀者的主機不希望使用者匿名登入則可參考以下步驟
  Step 修改/etc/vsftpd/nf
  將
  anonymous_enable=YES
  改為
  anonymous_enable=NO
  Step 重新啟動vsftpd
  [root@home vsftpd]# /sbin/service vsftpd restart
  Shutting down vsftpd: OK ]
  Starting vsftpd for vsftpd: OK ]
   安排歡迎話語
  若是我們希望使用者在登入時能夠看到歡迎話語可能包括對該主機的
  說明或是目錄的介紹可參考以下步驟
  首先確定在/etc/vsftpd/nf 當中是否有底下這一行
  dirmessage_enable=YES
  RedHat 的默認值是有上面這行的
  接著在各目錄之中新增名ssage 的檔案再這邊假設有一個使用
  者test且此使用者的根目錄下有個目錄名為abc那首先我們在/home/test
  之下新ssage內容如下
  Hello~ Welcome to the home directory
  This is for test only
  接著在/home/test/abc 的目錄下新ssage內容如下
  Welcome to abcs directory
  This is subdir
  那麼當使用者test 登入時會看到以下訊息
   Hello~ Welcome to the home directory
  
   This is for test only
  
  若是切換到abc 的目錄則會出現以下訊息
   Welcome to abcs directory
  
   This is subdir
   對於每一個聯機以獨立的process 來運作
  一般啟動vsftp 時我們只會看到一個名為vsftpd 的process 在運作但若
  是讀者希望每一個聯機都能以獨立的process 來呈現則可執行以下步驟
  Step 修改/etc/vsftpd/nf
  新增底下一行
  setproctitle_enable=YES
  Step 重新啟動vsftpd
  [root@home vsftpd]# /sbin/service vsftpd restart
  Shutting down vsftpd: OK ]
  Starting vsftpd for vsftpd: OK ]
  使用ps ef 的指令可以看告不同使用者聯機的情形如下圖所示
  [root@home vsftpd]# ps ef|grep ftp
  root : pts/ :: vsftpd: LISTENER
  nobody : ? :: vsftpd: :
  connected
  test : ? :: vsftpd: /test:
  IDLE
  nobody : ? :: vsftpd: :
  connected
  test : ? :: vsftpd: /test:
  IDLE
  root : pts/ :: grep ftp
  [root@home vsftpd]#
   限制傳輸檔案的速度本機的使用者最高速度為KBytes/s匿名登入
  者所能使用的最高速度為KBytes/s
  Step 修改/etc/vsftpd/nf
  新增底下兩行
  anon_max_rate=
  local_max_rate=
  Step 重新啟動vsftpd
  [root@home vsftpd]# /sbin/service vsftpd restart
  Shutting down vsftpd: OK ]
  Starting vsftpd for vsftpd: OK ]
  在這邊速度的單位為Bytes/s其中anon_max_rate 所限制的是匿名登入的
  使用者而local_max_rate 所限制的是本機的使用者VSFTPD 對於速度的限
  制范圍大概在%到%之間也就是我們限制最高速度為KBytes/s
  但實際的速度可能在KBytes/s 到KBytes/s 之間當然若是頻寬不足
  時數值會低於此限制
   針對不同的使用者限制不同的速度假設test 所能使用的最高速度為
  KBytes/stest 所能使用的最高速度為KBytes/s
  Step 修改/etc/vsftpd/nf
  新增底下一行
  user_config_dir=/etc/vsftpd/userconf
  Step 新增一個目錄/etc/vsftpd/userconf
  mkdir /etc/vsftpd/userconf
  Step 在/etc/vsftpd/userconf 之下新增一個名為test 的檔案
  內容增加一行
  local_max_rate=
  Step 在/etc/vsftpd/userconf 之下新增一個名為test 的檔案
  內容增加一行
  local_max_rate=
  Step 重新啟動vsftpd
  [root@home vsftpd]# /sbin/service vsftpd restart
  Shutting down vsftpd: OK ]
  Starting vsftpd for vsftpd: OK ]
   建置一個防火牆下的ftp server使用PORT FTP mode預設的ftp
  port: 以及ftp data port:
  啟動VSFTPD 之後執行以下兩行指令只允許port 以及port 開放
  其它關閉
  iptables A INPUT p tcp m multiport dport j ACCEPT
  iptables A INPUT p tcp j REJECT rejectwith tcpreset
   建置一個防火牆下的ftp server使用PORT FTP modeftp port:
  以及ftp data port:
  Step 執行以下兩行指令只允許port 以及port 開放其它關閉
  iptables A INPUT p tcp m multiport dport j ACCEPT
  iptables A INPUT p tcp j REJECT rejectwith tcpreset
  Step 修改/etc/vsftpd/nf
  新增底下兩行
  listen_port=
  ftp_data_port=
  Step 重新啟動vsftpd
  [root@home vsftpd]# /sbin/service vsftpd restart
  Shutting down vsftpd: OK ]
  Starting vsftpd for vsftpd: OK ]
  在這邊要注意 兩個例子中ftp client(如cuteftp)的聯機方式不能
  夠選擇passive mode否則無法建立數據的聯機也就是讀者可以連上ftp
  server但是執行lsget 等等的指令時便無法運作
   建置一個防火牆下的ftp server使用PASS FTP modeftp port:
  以及f
From:http://tw.wingwit.com/Article/program/Oracle/201311/18076.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.