vsftpd:500 OOPS:prctl PR_SET_SECCOMP 失败

Xwe*_*que 8 ftp vsftpd ubuntu

我有一个问题vsftpd。当我通过 FileZilla 连接到我的 FTP 服务器时,出现错误:

500 OOPS:prctl PR_SET_SECCOMP 失败
错误:严重错误
错误:无法连接到服务器

我也尝试通过我的文件管理器进行连接,但它似乎不起作用。我可以毫无问题地连接到所有其他服务器,因此我确定这是与服务器相关的问题。

我在 VPSDime VPS 上运行 Ubuntu 14.04。vsftpd版本3.0.2。更新或更改配置后没有发生错误,但是当我在网站上工作时开始发生错误;在我收到错误之前它工作正常。

我已经重新启动,重新启动vsftpd并更新了我的系统。有任何想法吗?

Mar*_*ryl 17

该消息表明prctl(PR_SET_SECCOMP, ...)呼叫失败。

ret = prctl(PR_SET_SECCOMP, 2, &prog, 0, 0);
if (ret != 0)
{
  die("prctl PR_SET_SECCOMP failed");
}
Run Code Online (Sandbox Code Playgroud)

当您的内核没有CONFIG_SECCOMP_FILTER启用时,可能会发生这种情况。但是,当您“在网站上工作”时,这种情况几乎不会改变。

来自prctl手册页的引用:

PR_SET_SECCOMP(自 Linux 2.6.23 起)

为调用线程设置安全计算(seccomp)模式,以限制可用的系统调用。seccomp 模式通过 选择arg2。(seccomp 常量定义在<linux/seccomp.h>

...

随着arg2集来SECCOMP_MODE_FILTER(因为Linux 3.5)允许通过一个指向Berkeley包过滤器中定义的系统调用在ARG3通过。这个参数是一个指向struct sock_fprog; 它可以设计为过滤任意系统调用和系统调用参数。此模式仅在内核配置为CONFIG_SECCOMP_FILTER启用时可用。


作为一个糟糕的解决方法,您可以配置 vsftpd 不启用seccomp 模式

使用中的seccomp_sandbox=no选项vsftpd.conf

该选项似乎没有记录。

  • 谢谢,它也对我有用。我想知道为什么我会突然出现这种问题。我正在使用带有 Ubuntu 14.04 和内核 2.6.32 的 OVH 虚拟化服务器。 (2认同)