ubuntu ftp 500 OOPS: prctl PR_SET_SECCOMP перестал работать

Я только что установил vsftp в своем сервере человечности 14. Я установил vsftp также с помощью sudo apt-get install команда. затем перезапущенный FTP-сервер, но это отказывается от всего соединения для этой ошибки 500 OOPS: prctl PR_SET_SECCOMP failed смотрите здесь.

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

Вот мой файл конфигурации /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
1
задан 20 March 2016 в 11:47
1 ответ

Сообщение указывает, что вызов prctl (PR_SET_SECCOMP, ...) завершился неудачно.

if (!tunable_seccomp_sandbox)
{
  return;
}

...

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

Это может произойти, если в вашем ядре нет CONFIG_SECCOMP_FILTER включен.

Цитата из prctl справочной страницы :

PR_SET_SECCOMP (начиная с Linux 2.6.23)

Установите режим безопасных вычислений (seccomp) для вызывающего потока, чтобы ограничить доступные системные вызовы. Режим seccomp выбирается через arg2 . (Константы seccomp определены в

...

Если для arg2 установлено значение SECCOMP_MODE_FILTER (начиная с Linux 3.5), система Разрешенные вызовы определяются указателем на фильтр пакетов Berkeley, переданным в arg3. Этот аргумент является указателем на struct sock_fprog ; он может быть разработан для фильтрации произвольных системных вызовов и аргументов системного вызова. Этот режим доступно только в том случае, если ядро ​​настроено с включенным CONFIG_SECCOMP_FILTER .


Вы должны иметь возможность обойти это, настроив vsftpd, чтобы не включать режим seccomp .

Используйте seccomp_sandbox = no параметр в vsftpd.conf .

Кажется, что этот параметр не задокументирован.

Но похоже, что этот параметр у вас уже установлен. Это может означать, что ваш vsftpd.conf на самом деле не используется. Или вы не перезапускали vsftpd после установки этой опции.

Если вы если параметр действительно установлен, вы никогда не должны получать сообщение об ошибке, как вы можете видеть в приведенном выше фрагменте кода (код вашего vsftpd 3.0.2).

2
ответ дан 3 December 2019 в 20:51

Теги

Похожие вопросы