VS FTP Server 的安裝與設定

安裝 vsFTP Server
 
從 Red Hat 8.0 開始,內建預設 FTP 伺服器已從 wuFTP 改成 vsFTP ,主要原因在於安全、快速、穩定。
1. libcap-1.10-15.i386.rpm
2. rpm -Uvh vsftpd-1.1.3-8.i386.rpm
設定 vsFTP Server 的啟動方式
 
1. 安裝完畢,如果只是讓使用者下載的FTP server則無須設定即可使用,只要把檔案複製到預設的FTP目錄即可(預設目錄在“/var/ftp”) ,該目錄有一個預設子目錄 pub ,pub 通常是放置下載檔案的目錄。
2. vsFTP 預設是以 Standalone (單獨伺服器) 的方式啟動,因此可用 service vsftpd start 或 /etc/rc.d/init.d/vsftpd start 來啟動伺服器。
3. 如果想藉由 xinetd 來啟動,則先將套件所附的 xinetd 設定檔(/usr/share/doc/vsftpd-1.1.3/vsftpd.xinetd)複製到 /etc/xinetd.d 目錄
    cp /usr/share/doc/vsftpd-1.1.3/vsftpd.xinetd /etc/xinetd.d/vsftpd
   然後編輯 /etc/xinetd.d/vsftpd 將 disable = yes 改為 disable = no
4. 檢查 /etc/inetd.conf(如果使用 inetd 或 xinetd 啟動)
    確定 ftp stream tcp nowait root 這一列沒有註解起來
設定 vsFTP Server
  主要設定檔為“/etc/vsftpd/vsftpd.conf”

(1)
指令
anonymous_enable
說明

不開放Anonymous FTP設為 NO,開放為 YES,匿名登入時使用的本機帳號為 ftp

範例
anonymous_enable = YES
(2)
指令
local_enable
說明

允許本機帳號登入設為 YES,不允許為 NO

範例
local_enable = YES
(3)
指令
write_enable
說明

不開放FTP服務有寫入權利設為NO,開放為 YES

範例
write_enable = YES
(4)
指令
listen
listen_port
說明

當 listen設定為 YES 時,表示 vsFTP 以 Standalone (單獨伺服器) 的方式啟動,單獨啟動時listen_port 設定 vsFTP 接受服務請求的連接埠

範例
listen = YES
listen_port = 2121
(5)
指令
idle_session_timeout
說明

當使用者不執行任何 FTP指令時,服務自動登出的時間,單位為秒

範例
idle_session_timeout = 600
(6)
指令
ftpd_banner
說明

設定使用者登入 FTP 服務時的歡迎訊息

範例
ftpd_banner = Welcome to THIT FTP service.
(7)
指令
max_clients
說明

如果以 standalone模式起動,設定最大可以連接的使用者數目,其他使用者將得到錯誤資訊,預設是 0 不限制

範例

max_clients = 10

(8)
指令
anon_upload_enable
說明

設定是否允許匿名上傳,允許為 YES,不允許為 NO

範例
anon_upload_enable = YES
(9)
指令
anon_mkdir_write_enable
說明

設定是否允許匿名登錄後,可以建立目錄,允許為 YES,不允許為 NO

範例
anon_mkdir_write_enable = YES
(10)
指令
anon_max_rate
 
說明

設定匿名登入後,最大下載速率,單位為 Bytes/Second

 
範例
anon_max_rate = 10000
(11)
指令
anon_root
 
說明

設定匿名登入的根目錄

 
範例
anon_root = /var/www
(12)
指令
tcp_wrappers
 
說明

設定是否使用 /etc/hosts.allow 及 /etc/hosts.deny 來控制可以登入的主機位址,是為 YES,否為 NO

 
範例
tcp_wrappers = YES
(13)
指令
deny_email_enable
banned_email_file
說明

根據匿名登入所輸入的輸入 e-mail,來禁止某些 e-mail登入,當 deny_email_enable 為 YES 時,banned_email_file 為遭禁止的 e-mail 清單檔案

範例

deny_email_enable = YES
banned_email_file = /etc/vsftpd.banned_emails

(14)
指令
chroot_local_user
說明

當設定值為 YES 時,本地使用者將被限制在自己的家目錄中,無法變更目錄

範例

chroot_local_user = YES

設定禁止使用FTP Server的使用者
  編輯“/etc/vsftpd.ftpusers”,列在檔案中的使用者為禁止登入的使用者
設定只允許 192.168.13.0/24 的主機使用 FTP Server
  1. 編輯“/etc/hosts.allow”,輸入 vsftpd: 192.168.138.
2. 編輯“/etc/hosts.deny”,輸入 vsftpd: ALL
設定匿名登入後的根目錄到 Apache 的網頁目錄
 

1. 編輯“/etc/vsftpd/vsftpd.conf”,將 anon_root 的值改成 anon_root = /var/www,在此須注意匿名的根目錄對 ftp 帳號不能具有可寫的權限,因此我們不能將 /var/www 的擁有者改為 ftp,否則 vsftp 將無法登入,對此情況的解決之道是在根目錄下,再產生一個上傳目錄,然後將上傳目錄的擁有者改為 ftp。
2. 將 html 目錄的擁有者(owner) 改成 ftp(匿名登入時使用的本機帳號)
   chown ftp html

最後,因vsftpd預設不會重開機後自動開啟,可輸入chkconfig vsftpd on,便可解決

參考資料:

http://120.105.184.250/cswang/thit/Linux/FTPD.htm

http://linux.vbird.org/linux_server/0410vsftpd.php

arrow
arrow
    全站熱搜

    masterman 發表在 痞客邦 留言(0) 人氣()