2. 资源共享:FTP

摘要

ProFTPD 让您能够创建并设置 FTP 服务器。FTP 服务器的作用在于,它能让您的公司向连接到 Internet (或者您的内部网)的用户共享文件。根据您的配置,他们还可以向您的服务器上传文件。

2.1. 安装

请确定安装了 proftpd 软件包。

可以通过 WebminProFTPD 服务器配置模块来配置该服务器。您会在服务器类别下找到它。

2.2. 配置实例

[警告]警告

使用 FTP 不太安全,因为登录用户名及其密码在传送到服务器的过程中是不加密的。请仅在可信任的网络中使用登录用户名和密码进行非匿名 FTP 连接。

图 7.8. ProFTPD 配置模块的启动屏幕

ProFTPD 配置模块的启动屏幕

ProFTPD 的配置存储于 /etc/proftpd.conf 文件。ProFTPD 的默认配置仅允许您系统中的合法账户通过 FTP 连接。在接下来的几节中,我们将给出普通的 FTP 服务器配置实例。

ProFTPD 可以像 Apache 那样在一台服务器上通过虚拟服务器的方式拥有几个 FTP 站点。全局配置应用于所有虚拟服务器。每个虚拟服务器的选项在虚拟服务器部分。

[提示]提示

默认值对大多数配置来说已经可以了。因此除非您知道您在做什么,请不要更改它们。

2.2.1. 简单的匿名 FTP 服务器

只需安装 proftpd-anonymous 软件包。该软件包会在配置文件中添加开放到 FTP 服务器的匿名连接的一切设置。

要测试匿名 FTP 服务器访问:

  1. 使用您喜欢的 FTP 客户端连接到该 FTP 服务器主机名或其 IP

  2. 输入 anonymous 作为登录名以及您的电子邮件地址作为密码。

  3. 如果一切正常的话,位于 ftp 用户根目录(/var/ftp/)及其子目录下的所有文件就可以匿名下载了。

2.2.2. 有上载目录的匿名 FTP 服务器

如果您希望允许人们上载文件,那么您就需要为保存那些文件创建一个特别的地方。让我们为服务器添加该项功能。

作为 root 在终端中输入以下命令以建立该存储地点以及更改其访问权限和所有者:

# mkdir /var/ftp/uploads
# chown ftp:ftp /var/ftp/uploads
# chmod g+w /var/ftp/uploads

点击默认服务器连接,接着点击匿名文件传送协议按钮。在为..新增每个目录选项表格中的目录路径填入 uploads/*,并点击创建按钮。

我们希望来自信任网络的用户能够读写该目录数据。因此,必须键入下列“每个命令选项”:

  • 为..新增每个命令选项表中输入 STOR 并点击创建按钮。然后点击访问控制并按照图 7.9 “目录页中的命令访问控制”所示填写该表单。

    图 7.9. 目录页中的命令访问控制

    目录页中的命令访问控制

    在我们的例子中,我们仅对 192.168.1. 网络用户允许其在该目录保存文件,并拒绝其它网络的用户。您也可以允许/拒绝特定主机名、IP 地址、用户和用户组。

  • 点击返回每个目录选项链接并按照上述指示创建 READ 命令。不过,这一次是对 uploads/* 目录设置允许/拒绝读取。

返回主菜单并点击应用更改按钮以重启 FTP 服务器。所有保存于 /var/ftp/uploads/ 目录的文件就此对匿名用户开放上载及下载。

您可以对 /var/ftp/uploads 目录重复上述测试步骤。

2.3. 高级配置

以下列出有用的配置选项:

  • 在任何虚拟服务器的杂项部分,您可以更改服务器管理员的邮件地址(例如:ftp_admin@company.net)和向用户显示的服务器名称(例如:公司主 FTP 服务器)。

  • 网络选项部分,您可以把最大的同期登录数从其默认值(10)改为无限或指定数目[3]。您也可以设置登录错误信息,例如:对不起,达到最大连接数(%m 用户)。请稍后再试。,其中的 %m 将会用以上设定的数字替代。您还可以设置虚拟服务器监听的端口(主服务器为 21)。

  • 文件和目录部分,您可以指定初始登录目录。这是默认的根目录,并可以用来将用户限定在某个特定的环境中。您也可以指定 Chroot 目录以把所有的用户限定在他们的主目录或其它您指定的目录中。

如果您想要手工编辑 ProFTPD 的配置文件,您总能够在 ProFTPD 模块的主屏幕(参见图 7.8 “ProFTPD 配置模块的启动屏幕”)上找到 Edit Config files(编辑配置文件)。

2.4. 更多文档

请浏览 ProFTPd 文档,您还可以找到很多配置的例子。



[3] 将该值设为 0 会导致拒绝所有对 FTP 服务器的连接。