vsFTPd在实际使用中常用的设置方法参考如下,针对不同版本的vsFTP其配置文件基本相似。
允许匿名用户上传文件,主要在vsftpd.conf文件中修改或增加以下选项:
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
然后创建供匿名用户上传文件的目录,并设定权限,在命令行中输入下列命令:
# mkdir /var/ftp/incoming
# chmod o+w /var/ftp/incoming
由于匿名用户(ftp)上传文件,需要对incoming目录进行操作,而incoming为root所有,匿名用户(ftp)对于incoming来说是其他用户,所以要加入其他用户(o)的写权限。
在默认配置中,本地用户可以切换到默认目录以外的目录进行浏览,并在权限范围内进行上传和下载,这无疑是个不安全因素。
用户可以设置chroot,让本地用户登录后只能访问默认目录,无法访问其他目录。相关的选项有3个:chroot_local_user、chroot_list_enable、chroot_list_file。限制用户在默认目录有下面两种做法。
chroot_local_user=YES
这种做法可能会带来一些安全性上的冲突。参见前面的chroot_local_user选项描述。
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
在/etc/vsftpd.chroot_list文件中加入要限制的本地用户名。注意一个用户名一行。
有些选项默认已经采用安全性的设置,这里就不再写出了。
只允许匿名访问,不允许本地用户访问:
anonymous_enable=YES
local_enable=NO
使用ftpd_banner取代vsFTPd默认的欢迎词,免得泄漏相关信息:
ftpd_banner=Welcome to this FTP Server
只让匿名用户浏览可阅读的文件,不可以浏览整个系统:
anon_world_readable_only=YES
隐藏文件的所有者和组信息,匿名用户看到的文件的所有者和组全变为ftp:
hide_ids=YES
取消写权限:
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
使用单独模式,并指定监听的IP地址:
listen_address=ip address
对连接进行控制,还有超时时间,那就根据具体情况而定了。
connect_from_port_20=YES
pasv_min_port=50000
pasv_max_port=60000
控制并发数,限定每个IP地址的并发数,这需要用户自已根据情况确定。
max_clients=numerical value
max_per_ip=numerical value
限定下载速度,具体限多大,就由用户自己定了。如可以限定为80KB/s:
anon_max_rate=80000
启用详细的日志记录格式:
xferlog_enable=YES