ubuntu ftp 500 OOPS: prctl PR_SET_SECCOMP falhou

1

Acabei de instalar o vsftp no meu servidor do Ubuntu 14. Eu instalei o vsftp também usando o comando sudo apt-get install . então reiniciei o servidor ftp mas ele recusou toda a conexão para este erro 500 OOPS: prctl PR_SET_SECCOMP failed por favor, dê uma olhada aqui.

aysael@srv:~$ sudo ftp
ftp> open 127.0.0.1
Connected to 127.0.0.1.
500 OOPS: prctl PR_SET_SECCOMP failed

Aqui está o meu arquivo de configuração /etc/vsftpd.conf

seccomp_sandbox=no
listen=YES
# Allow anonymous FTP? (Disabled by default)
anonymous_enable=NO
#
# Uncomment this to allow local users to log in.
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES
#
dirmessage_enable=YES
#
# If enabled, vsftpd will display directory listings with the time
# in  your  local  time  zone.  The default is to display GMT. The
# times returned by the MDTM FTP command are also affected by this
# option.
use_localtime=YES
#
# Activate logging of uploads/downloads.
xferlog_enable=YES
#
# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES
ftpd_banner=Welcome to blah FTP service.

secure_chroot_dir=/var/run/vsftpd/empty
#
# This string is the name of the PAM service vsftpd will use.
pam_service_name=vsftpd
#
# This option specifies the location of the RSA certificate to use for SSL
# encrypted connections.
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
# This option specifies the location of the RSA key to use for SSL
# encrypted connections.
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
    
por Fujael 29.05.2015 / 19:39

1 resposta

2

A mensagem indica que a chamada prctl(PR_SET_SECCOMP, ...) falhou.

if (!tunable_seccomp_sandbox)
{
  return;
}

...

ret = prctl(PR_SET_SECCOMP, 2, &prog, 0, 0);
if (ret != 0)
{
  die("prctl PR_SET_SECCOMP failed");
}

Isso pode acontecer quando o seu kernel não tem o CONFIG_SECCOMP_FILTER habilitado.

Citação da prctl man page :

PR_SET_SECCOMP (since Linux 2.6.23)

Set the secure computing (seccomp) mode for the calling thread, to limit the available system calls. The seccomp mode is selected via arg2. (The seccomp constants are defined in <linux/seccomp.h>

...

With arg2 set to SECCOMP_MODE_FILTER (since Linux 3.5) the system calls allowed are defined by a pointer to a Berkeley Packet Filter passed in arg3. This argument is a pointer to struct sock_fprog; it can be designed to filter arbitrary system calls and system call arguments. This mode is available only if the kernel is configured with CONFIG_SECCOMP_FILTER enabled.

Você deve conseguir solucionar isso configurando o vsftpd para não ativar o modo seccomp .

Use a opção seccomp_sandbox=no no vsftpd.conf .

A opção não parece estar documentada.

Mas você parece ter esse conjunto já. Isso pode indicar que seu vsftpd.conf não está sendo usado de fato. Ou que você não reiniciou o vsftpd desde que você definiu a opção.

Se você tem a opção realmente definida, você nunca deve receber a mensagem de erro, como você pode ver no trecho de código acima (código do seu vsftpd 3.0.2).

    
por 29.05.2015 / 20:46