vsftpd是一个用于Linux操作系统的FTP服务器软件。
安装
安装方法取决于你使用的Linux发行版。在某些情况下,它可能已经默认安装了。我使用的是Ubuntu,我使用了以下命令进行安装。(如果你使用不同版本的Linux,请谷歌搜索如何安装该程序)
# sudo apt-get install vsftpd
配置
仅仅安装vsftpd是不够的,你还需要在/etc/vsftpd.conf文件中进行正确的配置。
当我尝试从命令行运行vsftpd时,遇到了以下错误。
# vsftpd
500 OOPS: vsftpd: not configured for standalone, must be started from inetd
# vsftpd
500 OOPS: could not bind listening IPv4 socket
我在谷歌上搜索了很多解决方案,但大多数都没有起作用。对我来说,配置/etc/vsftpd.conf文件中的以下两行有效。
listen=YES
background=YES
要启用匿名账户,我设置如下。
anonymous_enable=YES
现在你需要指定一个目录,该目录将映射到匿名账户。在我的情况下,我设置如下。这意味着你需要在这里指定的目录中创建文件夹。
anon_root=/home/ftp_anon
以下是我在本教程中使用的vsftpd.conf文件的完整内容。
<示例配置:vsftpd.conf------------------------------------------------------->
# 示例配置文件 /etc/vsftpd.conf
#
# 独立运行?vsftpd可以从inetd或作为独立的守护进程运行。
listen=YES
background=YES <==我注意到有些vsftpd不支持此选项,并且如果我把它放在这里会给出错误信息
#
# 使用IPv6独立运行?
# 类似于listen参数,但是vsftpd将侦听IPv6套接字
# 而不是IPv4套接字。该参数和listen参数是互斥的。
#listen_ipv6=YES
#
# 允许匿名FTP?(谨慎 - 如果注释掉此行,默认允许)
anonymous_enable=YES
anon_root=/home/ftp_anon
#
# 取消注释以允许本地用户登录。
local_enable=YES
#
# 取消注释以启用任何形式的FTP写命令。
write_enable=YES
#
# 本地用户的默认umask是077。如果您的用户期望这样(大多数其他ftpd使用022),您可能希望更改此值。
#local_umask=022
#
# 如果要允许匿名FTP用户上传文件,请取消注释此行。仅当上述全局写使能被激活时才有效。此外,您还需要创建一个由FTP用户可写的目录。
#anon_upload_enable=YES
#
# 如果您希望匿名FTP用户能够创建新目录,请取消注释此行。
#anon_mkdir_write_enable=YES
#
# 激活目录消息 - 当客户端进入某个特定目录时向其发送消息。
dirmessage_enable=YES
#
# 如果启用,vsftpd将以您的本地时区显示目录列表的时间。
# 默认值是显示GMT时间。MDTM FTP命令返回的时间也受此选项影响。
use_localtime=YES
#
# 激活上传/下载日志记录。
xferlog_enable=YES
#
# 确保PORT传输连接起始于端口20(ftp-data)。
connect_from_port_20=YES
#
# 如果您愿意,您可以为上传的匿名文件指定不同的用户所有者。注意!不推荐使用“root”作为上传文件的所有者!
#chown_uploads=YES
#chown_username=whoever
#
# 如果想要,您可以更改日志文件的默认位置。默认情况如下所示。
#xferlog_file=/var/log/vsftpd.log
#
# 如果愿意,您可以使用标准ftpd xferlog格式来记录日志文件。
# 请注意,在这种情况下,默认的日志文件位置是/var/log/xferlog。
#xferlog_std_format=YES
#
# 您可以更改空闲会话超时的默认值。
#idle_session_timeout=600
#
# 您可以更改数据连接超时的默认值。
#data_connection_timeout=120
#
# 建议在您的系统上定义一个唯一的用户,以便FTP服务器可以使用它作为完全隔离和非特权用户。
#n