我已经在 Ubuntu Raring Ringtail 上安装了 vsftpd,并对配置文件做了一些更改。
当我尝试运行这些更改时,服务从未启动。
恢复默认配置后,服务即可运行。
我从本指南中得到了以下变化:如何使用 vsftpd 轻松进行 FTP
我无法弄清楚这个问题,因为我不知道其中一半是什么意思......
答案1
查看您的配置,我发现一些可能导致它无法启动的小问题。
首先,我建议您将配置文件缩小到仅包含您需要的变量,如下所示。
listen=YES
listen_port=21
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES
syslog_enable=NO
vsftpd_log_file=/var/log/vsftpd.log
有关你可以使用的内容的信息,请访问https://security.appspot.com/vsftpd/vsftpd_conf.html
您可能需要添加local_root=/folder/folder
以避免可能出现的问题,但这不是必需的
消除
xferlog_enable=YES
出于某种原因,默认配置已打开但日志位置已关闭!
还要注意的xferlog_enabled
是syslog_enable
不同的日志。看到很多人混合这些设置却一无所获。
消除
pam_service_name=vsftpd
由于您的配置文件中没有guest_enable
此设置,因此此设置不起作用。此外,PAM 还需要其他变量才能正常工作,请参见
消除
dirmessage_enable=YES
您需要提供message_file
变量才能使其工作
消除
listen_port=21
因为 21 是默认值
use_localtime=YES
因为服务器时间更可靠
connect_from_port_20=YES
除了高级配置外,不需要
你可能还想把你的日志
改变
syslog_enable=NO
到
syslog_enable=YES
生成的配置文件应该是
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES
syslog_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
如果不起作用,请删除 SSL 设置并设置
答案2
跑步
sudo lsof -i | grep ftp
查看是否有任何服务正在使用 listen to ftp。停止该服务。现在尝试运行 vsftp 服务。
答案3
要制作 vsftp 日志,您必须在配置文件中设置它。以下是操作方法编辑 vsftp 使其记录
之后尝试使用 /etc/init.d/vsftp start 启动服务
然后使用 cat /var/log/vsftp.log 检查日志
最后发布日志以获得更好的帮助:D
答案4
这是一篇旧帖子,但我的安装因 ipv6 元素而失败。网上没有很好的记录 - 取消注释 ipv6 行并将值更改为 =no
希望这对某人有帮助