33.10.文件传输协议(FTP)
最后更新于
文件传输协议(FTP)为用户提供简单的方式上传和下载文件。FreeBSD 在基本系统中包含 FTP 服务器软件 ftpd。
FreeBSD 提供几个配置文件控制对 FTP 服务器的访问。本节总结这些文件的作用。更多关于内建 FTP 服务器的细节,请参考 ftpd(8)。
最重要的配置步骤是决定哪些账户将能访问 FTP 服务器。FreeBSD 系统有许多系统账户,这些账户不应能访问 FTP。禁止访问 FTP 的用户列表可以在 /etc/ftpusers 中找到。默认情况下,它包括系统账户。还可以添加其他不应能访问 FTP 的用户。
在某些情况下,可能希望限制某些用户的访问权限,而非完全禁止他们使用 FTP。创建 /etc/ftpchroot 即可实现,如 ftpchroot(5) 中所述。此文件列出了受到 FTP 访问限制的用户和组。
要启用匿名 FTP 访问服务器,可以在 FreeBSD 系统上创建名为 ftp 的用户。用户就能使用用户名 ftp 或 anonymous 登录到 FTP 服务器。提示输入密码时,任何输入都会被接受,但按惯例,密码应是电子邮件地址。匿名用户登录时,FTP 服务器将调用 chroot(2) 限制用户的访问范围,仅限于 ftp 用户的主目录。
可以创建两个文本文件,指定显示给 FTP 客户端的欢迎信息。/etc/ftpwelcome 的内容将在用户到达登录提示符之前显示。登录成功后,将显示 /etc/ftpmotd 的内容。请注意,文件的路径相对于登录环境,因此匿名用户的 ~ftp/etc/ftpmotd 内容也将显示。
配置好 FTP 服务器后,在 /etc/rc.conf 中设置适当的变量,以便在引导时启动服务:
ftpd_enable="YES"要立即启动服务,请执行:
# service ftpd start输入以下命令测试连接到 FTP 服务器:
% ftp localhostftpd 守护进程使用 syslog(3) 记录消息。默认情况下,系统日志守护进程将与 FTP 相关的消息写入 /var/log/xferlog。修改 /etc/syslog.conf 中的以下行即可更改 FTP 日志的位置:
ftp.info /var/log/xferlog注意
请注意运行匿名 FTP 服务器可能带来的潜在问题。特别是,三思是否允许匿名用户上传文件。FTP 站点可能会变成未经授权的商业软件交易的场所,或更糟。如果需要匿名 FTP 上传,请确保权限设置正确,并保证这些文件在管理员审查之前,其他匿名用户无法读取。
最后更新于