我已经安装vsftpd apt-get install vsftpd在我刚刚部署的ubuntu saucy amd64 linode上。
vsftpd启动,但是当我从一个ftp客户端连接到它,甚至从本地主机,我得到这个错误: OOPS: child died
syslog和kern.log显示:
Jan 28 14:00:37 gravy kernel: type=1326 audit(1390917637.827:67): auid=4294967295 uid=65534 gid=65534 ses=4294967295 pid=27687 comm="vsftpd" sig=31 syscall=96 compat=0 ip=0x7fff48196968 code=0x0
/etc/vsftpd.conf中的默认configuration选项是:
listen=YES anonymous_enable=NO local_enable=YES dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=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
我虽然可能与pam或SSL有关,所以我注释了最后3行并重新启动,但仍然遇到同样的问题。
/var/log/vsftpd.log没有任何内容
vsftpd中存在一个影响64位机器的bug ,这里是错误报告 – 它看起来固定在Red Hat的发行版上,但是在其他发行版上还没有修复。
作为一种解决方法,您可以将seccomp_sandbox=NO添加到其configuration文件中,但会禁用沙箱function(不确定它的确切含义,但是如果安全性是您的优先级,则不应使用FTP)。
echo "seccomp_sandbox=NO" >> /etc/vsftpd.conf