资源共享:FTP

摘要

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

安装

要配置 ProFTPD 服务器,必需安装 proftpd 软件包。使用 Rpmdrake 或者以 root 身份在终端输入 urpmi proftpd 来安装。

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

配置实例

[Warning]警告

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

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

ProFTPD 配置模块的启动屏幕

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

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

[Tip]提示

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

简单的匿名 FTP 服务器

图形 7.9. 配置匿名 FTP

配置匿名 FTP

点击默认服务器链接,接着点击匿名文件传送协议按钮。用下列参数填写该表单:

  • Chroot 目录/var/ftp。这是 ftp 用户的主目录,当连接到 FTP 服务器时用来限制对它以外的访问。

  • 以用户的身份查看文件以组的身份查看文件ftp。这个用户名和组是在 ProFTPD 安装时创建的。

图形 7.9, "配置匿名 FTP"所示,然后点击创建按钮。

点击验证按钮并确定下述选项如下设定:

  • 用户别名:要让客户端能够以 anonymous 登录的,请将登录用户名设为 anonymous 并且真实用户名设为 ftp

  • 匿名登录时需要口令吗?:因为匿名用户没有密码,请将其设为 No(否)。

  • 仅允许带有有效的 shell 的用户登录?:作为anonymous(匿名)登录无需有效 shell,因此请设为 No(否)。

每个命令的选项在每个目录和每个命令选项部分。

我们想要登录到这个匿名服务器,因此请在为..新增每个命令选项表中的 FTP 命令输入 LOGIN 并点击创建按钮。然后点击访问控制按钮并将访问控制策略设为允许所有的客户端,然后保存并返回到匿名 FTP 选项。

下一步,我们想要对匿名目录拒绝任何写入(上载)。在为..新增每个命令选项表中的 FTP 命令输入 WRITE 并点击创建按钮。然后点击访问控制按钮并将访问控制策略设为拒绝所有的客户端

保存更改,点击返回主菜单链接并点击应用更改按钮以用新的配置重启 FTP 服务器。要测试匿名 FTP 服务访问,请:

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

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

  3. 如果一切正常的话,先前设置的根目录(/var/ftp/)及其子目录可以允许匿名下载。

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

如果您希望允许人们上载文件,那么您就需要为保存那些文件创建一个特别的地方。让我们为我们刚才建立的匿名 FTP 例子添加该项功能:

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

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

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

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

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

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

    目录页中的命令访问控制

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

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

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

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

高级配置

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

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

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

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

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

更进一步

Joe CooperThe Book of Webmin 中有专门关于 FTP 的一章,不过它仅包含基本信息。请浏览 ProFTPd 文档



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