29.9. 档案传输协定(FTP

档案传输协定(File Transfer Protocol,FTP)提供了使用一个简单的方式能够将档案传输到与接收自FTP服务器,FreeBSD内置了FTP服务器软件 ftpd在基础系统(Base system)中。

FreeBSD提供了多个配置文件来控制对FTP服务器的存取,本节将摘要这些档案的设定方式,请参考ftpd(8)来取得更多有关内置FTP服务器的详细信息。

29.9.1. 设置

最重要的一个设定步骤便是决定那些帐号能够存取FTP服务器,FreeBSD系统有数个系统帐号,这些帐号不应该能够拥有FTP存取权,不允许存取FTP的使用者清单可在/etc/ftpusers找到,预设该档案内会有所有的系统帐号,其他不应允许存取FTP的使用者也可在此加入。

在某些情况可能会布望限制某些使用者的存取,而不是完全避免这些使用者使用FTP,这可以透过建立/etc/ftpchroot来完成,详如ftpchroot(5)所述,这个档案会列出受到FTP存取限制的使用者与群组。

要在服务器上开启匿名FTP存取权,可在FreeBSD系统上建立一个名称为ftp使用者,使用者将能够使用ftpanonymous使用者名称来登入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 localhost

ftpd daemon会使用syslog(3)来记录信息,预设,系统记录Daemon会写入有关FTP的信息到/var/ log/xferlogFTP记录的位置可以透过更改/etc/syslog.conf中下行来做修改:

ftp.info      /var/log/xferlog

注意:

要注意启动匿名FTP服务器可能的潜藏问题,尤其是要让匿名使用者上传档案时要再次确认,因为这可能让该FTP站变成用来交换未授权商业软件的交流平台或者更糟的状况。若真的需要匿名FTP上传,那么请检查权限设定,让这些档案在尚未被管理者审查前不能够被其他匿名使用者读取。

本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题,请先阅读 文档,如不能解决再联系 <questions@FreeBSD.org>.

关于本文档的问题请发信联系 <doc@FreeBSD.org>.