[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/HowTos/Chroot_Vsftpd_with_non-system_users

Translation of revision 16


2023-09-11 07:23