if(prctl(PR_SET_NO_NEW_PRIVS, 1) == -1)
    err(0, "PR_SET_NO_NEW_PRIVS failed");

我将上面的代码作为程序的第一行。我总是在以下方面犯错:

PR_SET_NO_NEW_PRIVS失败:参数无效

我查了一下prctl,但不确定为什么会失败。它接受选项,然后是args。我在Linux内核3.15.6上。 g++ 4.8.1

一个人如何不设置新特权?

解决:
if(prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0) == -1)
    err(0, "PR_SET_NO_NEW_PRIVS failed");

最佳答案

更改为:

if(prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0) == -1)
    err(0, "PR_SET_NO_NEW_PRIVS failed");

解决了这个问题。不知道为什么,但是我在某个地方找到了它。

10-07 16:40