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
|
masterman 發表在 痞客邦 留言(0) 人氣()