内容简介
本文将介绍使用vsftpd搭建匿名FTP站点,允许用户下载资源。我们还将介绍如何配置以允许匿名上传(当然不建议该行为)
环境概述
操作系统:CentOS Linux release 7.5
软件版本:vsftpd: version 3.0.2
安装方式:YUM
设置匿名下载
第一步、修改配置文件
我们使用默认配置文件,但是需要修改配置文件:(1)设置listen=YES,(2)并设置listen_ipv6=NO,使其监听IPv4地址。配置文件内容如下:
# grep -v -E '^#|^\s*$' /etc/vsftpd/vsftpd.conf anonymous_enable=YES local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=YES listen_ipv6=NO pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES
第二步、重启服务
保存并退出,然后重启服务即可。
附加说明
默认FTP根目录为文件系统的/var/ftp/目录。
允许匿名上传(不推荐)
第一步、修改配置文件
如果需要允许匿名用户上传,需要修改配置文件(1)设置write_enable=YES,(2)设置anon_upload_enable=YES。配置文件内容如下:
# grep -v -E '^#|^\s*$' /etc/vsftpd/vsftpd.conf anonymous_enable=YES local_enable=YES write_enable=YES local_umask=022 anon_upload_enable=YES dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=YES listen_ipv6=NO pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES
第二步、创建写入目录
由于匿名用户无法上传文件到根目录无法,所以只能创建新目录:
#!/bin/sh mkdir -pv "/var/ftp/upload" chown ftp:ftp "/var/ftp/upload"
第三步、重启服务
最后重启服务即可。
有关匿名用户的配置(废弃)
注意,请勿参考该部分内容:
#!/bin/sh ######################################################################################################################## # 创建匿名登录时要使用的系统帐号。(详情可查看vsftpd.conf中的ftp_username) ######################################################################################################################## groupadd ftp-anon useradd -c anonymous_user -d '/mnt/ftp' -g ftp-anon -s /bin/false ftp-anon ######################################################################################################################## # 修改vsftpd.conf配置文件,指定匿名帐号 ######################################################################################################################## cat >> /usr/local/vsftpd/vsftpd.conf << "EOF" # 用于匿名访问的FTP帐号 ftp_username=ftp-anon EOF ######################################################################################################################## # !!! 修改/mnt/ftp的访问权限 !!! # 用于匿名访问的系统用户,不能具有对FTP根目录的write权限,所以要去掉w位。 # 如果用于匿名访问的系统用户没有相应的rx位,则匿名用户是看不到文件的。 # # 如果给了匿名用户w位,会产生错误:500 OOPS: vsftpd: refusing to run with writable root inside chroot() ######################################################################################################################## chmod o+rx-w /mnt/ftp
参考文献