[FrontPage] [TitleIndex] [WordIndex

This is a read-only archived version of wiki.centos.org

支援非系統用戶的 vsftpd

一個快捷地、簡單地設置 vsftpd 支援非系統用戶的方法。

在這裡你可以:

  1. 設定 vsftpd 使用 ftp 虛擬用戶。
  2. 透過一些 bash 腳本來管理你的 ftp 虛擬用戶。

ArtWork/WikiDesign/alert.png

警告:
切勿以系統用戶的名稱為虛擬用戶命名。
要不然這些腳本將會刪除你的系統用戶帳號!

1. 安裝

yum -y vsftpd db4-utils

2. 設定

2.1. 伺服器

在剛安裝完 vsftpd 套件後,請執行下面其中一個腳本來設定你的 ftp 伺服器。

腳本

描述

vsftpd_virtual_config.sh

進行沒有 TLS 的基本 ftp 虛擬用戶設定。這樣在線上可讀取 USER 及 PASS。

vsftpd_virtual_config_withTLS.sh

進行擁有 TLS 的基本 ftp 虛擬用戶設定。這樣在線上無法讀取 USER 及 PASS。

如果你將會在互聯網上提供 ftp 服務,你大概會想用 vsftpd_virtual_config_withTLS.sh 這個腳本,對嗎? :)

2.2. 用戶

當你已設定了 vsftp,你可以用下列的腳本來管理 ftp 的虛擬用戶:

腳本

描述

vsftpd_virtualuser_add.sh

新增一個 ftp 虛擬用戶(需要 vsftpd_virtualuser_config.tpl

vsftpd_virtualuser_update.sh

更新 ftp 虛擬用戶的資料。

vsftpd_virtualuser_remove.sh

刪除 ftp 虛擬用戶(注意!:及所有相關的資料)。

vsftpd_virtualuser_info.sh

檢索 ftp 虛擬用戶的資料。

此外,你可以借著否認一個 ftp 虛擬用戶的戶口來防止他登入 vsftpd。你可以在建立新的、或更新現有的 ftp 虛擬用戶時如此做。

3. 防火牆

要讓上面的設定運作,你必須在伺服器端開啟 ftp 的指令埠:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

假若你無法用預設的設定規則傳輸資料,那麼伺服器端的 ftp 資料傳輸埠亦須要開啟:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 64000:65535 -j ACCEPT


註: 以上的著作建基於 zh-tw/HowTos/Chroot_Vsftpd_with_non-system_users

Translation of revision 16


2023-09-11 07:23