文件传输协议 (FTP) 为用户提供了一个简单的, 与 FTP 服务器交换文件的方法。 FreeBSD 系统中包含了 FTP 服务软件, ftpd。 这使得在 FreeBSD 上建立和管理 FTP 服务器变得非常简单。
最重要的配置步骤是决定允许哪些帐号访问 FTP 服务器。
一般的 FreeBSD 系统包含了一系列系统帐号分别用于执行不同的服务程序,
但未知的用户不应被允许登录并使用这些帐号。
/etc/ftpusers
文件中, 列出了不允许通过
FTP 访问的用户。 默认情况下, 这包含了前述的系统帐号,
但也可以在这里加入其它不应通过 FTP 访问的用户。
您可能会希望限制通过 FTP 登录的某些用户,
而不是完全阻止他们使用 FTP。 这可以通过 /etc/ftpchroot
文件来完成。 这一文件列出了希望对 FTP 访问进行限制的用户和组的表。
而在 ftpchroot(5) 联机手册中, 已经对此进行了详尽的介绍,
故而不再赘述。
如果您想要在服务器上启用匿名的 FTP 访问, 则必须建立一个名为
ftp
的 FreeBSD 用户。 这样, 用户就可以使用
ftp
或 anonymous
和任意的口令 (习惯上, 应该是以那个用户的邮件地址作为口令)
来登录和访问您的 FTP 服务器。 FTP 服务器将在匿名用户登录时调用
chroot(2), 以便将其访问限制在
ftp
用户的主目录中。
有两个文本文件可以用来指定显示在 FTP 客户程序中的欢迎文字。
/etc/ftpwelcome
文件中的内容将在用户连接上之后,
在登录提示之前显示。 在成功的登录之后, 将显示
/etc/ftpmotd
文件中的内容。
请注意后者是相对于登录环境的, 因此对于匿名用户而言,
将显示 ~ftp/etc/ftpmotd
。
一旦正确地配置了 FTP 服务器,
就必须在 /etc/inetd.conf
中启用它。
这里需要做的全部工作就是将注释符
“#” 从已有的
ftpd 行之前去掉:
如 例 30.1 “重新加载 inetd 配置文件” 所介绍的那样, 修改这个文件之后, 必须让 inetd 重新加载它, 才能使新的设置生效。请参阅 第 30.2.2 节 “设置” 以获取更多有关如何在你系统上启用 inetd 的详细信息。
ftpd 也可以作为一个独立的服务启动。
这样的话就需要在 /etc/rc.conf
中设置如下的变量:
在设置了上述变量之后,独立的服务将在下次系统重启的时候启动,
或者通过以 root
身份手动执行如下的命令启动:
现在可以通过输入下面的命令来登录您的 FTP 服务器了:
ftpd 服务程序使用
syslog(3) 来记录消息。 默认情况下,
系统日志将把和 FTP 相关的消息记录到
/var/log/xferlog
文件中。 FTP 日志的位置,
可以通过修改
/etc/syslog.conf
中如下所示的行来修改:
一定要小心对待在匿名 FTP 服务器中可能遇到的潜在问题。 一般而言, 允许匿名用户上传文件应三思。 您可能发现自己的 FTP 站点成为了交易未经授权的商业软件的论坛, 或发生更糟糕的情况。 如果不需要匿名的 FTP 上传, 可以在文件上配置权限, 使得您能够在其它匿名用户能够下载这些文件之前复查它们。
本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
如果对于FreeBSD有问题,请先阅读
文档,如不能解决再联系
<questions@FreeBSD.org>.
关于本文档的问题请发信联系
<doc@FreeBSD.org>.