第21章 其他文件系统
附录 D. OpenPGP 密钥
30.9.文件传输协议(FTP)
文件传输协议(FTP)为用户提供了一种在 FTP 服务器之间传输文件的简单方法。FreeBSD 在基本系统中包括 FTP 服务器软件 ftpd。
FreeBSD 提供了几个配置文件来控制对 FTP 服务器的访问。本节总结了这些文件。有关内置 FTP 服务器的更多详细信息,请参阅 ftpd(8)

30.9.1. 配置

最重要的配置步骤是确定允许哪些帐户访问 FTP 服务器。FreeBSD 系统有许多系统帐户,这些帐户不应该被允许 FTP 访问。禁止任何 FTP 访问的用户列表可以在 /etc/ftpusers 中找到。默认情况下,它包括系统帐户。可以添加不应允许其访问 FTP 的其他用户。
在某些情况下,可能需要限制某些用户的访问,而不完全阻止他们使用 FTP。这可以通过创建 /etc/ftpchroot 来完成,如 ftpchroot(5) 中所述。此文件列出了受 FTP 访问限制的用户和组。
要实现对服务器的匿名 FTP 访问,在 FreeBSD 系统上创建一个名为 ftp 的用户。然后,用户将能够以 ftp 或 anonymous 的用户名登录 FTP 服务器。当提示输入密码时,任何输入都会被接受,但按照惯例,应该使用电子邮件地址作为密码。当一个匿名用户登录时,FTP 服务器将调 chroot(2) 以限制对用户主目录的访问。
可以创建两个文本文件来指定要向 FTP 客户端显示的欢迎消息。/etc/ftpwelcome 的内容将在用户到达登录提示之前显示给用户。成功登录后,将显示 /etc/ftpmotd 的内容。请注意,此文件的路径是相对于登录环境的,因此将为匿名用户显示 ~ftp/etc/ftpmotd 的内容。
配置 FTP 服务器后,在 /etc/rc.conf 中设置适当的变量以在引导期间启动服务:
1
ftpd_enable="YES"
Copied!
要立即启动该服务,请执行以下操作:
1
# service ftpd start
Copied!
通过键入以下内容来测试与 FTP 服务器的连接:
1
% ftp localhost
Copied!
ftpd 守护程序使用 syslog(3) 来记录消息。默认情况下,系统日志守护程序将在 /var/log/xferlog 中写入与 FTP 相关的消息。FTP 日志的位置可以通过更改 /etc/syslog.conf 中的以下行来修改:
1
ftp.info /var/log/xferlog
Copied!
注意
请注意运行匿名 FTP 服务器所涉及的潜在问题。特别是,在允许匿名用户上传文件方面,请三思而后行。事实证明,FTP站点可能会成为未经许可的商业软件交易的论坛,甚至更糟。如果需要匿名 FTP 上载,请验证权限,以便在管理员审阅这些文件之前,其他匿名用户无法读取这些文件。
Copy link
Edit on GitHub