在尝试限制我的 Python 应用程序后,我一直在点击这些 AppArmor 消息
[ 1808.635237] audit: type=1400 audit(1600600443.250:50): apparmor="DENIED" operation="exec"
info="no new privs" error=-1 profile="/var/www/localhost/fastcgi/api.py"
name="/usr/bin/python3" pid=5672 comm="api" requested_mask="x" denied_mask="x" fsuid=42 ouid=0
使用此配置文件(由 aa-logprog 生成)
#include <tunables/global>
profile /var/www/localhost/fastcgi/api.py flags=(attach_disconnected) {
#include <abstractions/base>
# Python:
/usr/bin/python3{,.[7-9]} Cx,
^/usr/bin/python3{,.[7-9]} flags=(attach_disconnected) {
#include <abstractions/base>
/usr/bin/python3{,.[7-9]} mr,
}
}
Api
是系统服务。读完这篇文章后,我注意到api.service
确实已经NoNewPrivileges=yes
设置好了。因此,我将其更改为NoNewPrivileges=no
(并重新加载了服务),但这并没有改变任何事情。行为仍然完全相同。
是的,一旦任务没有新的权限,就不允许更改其配置文件并可能增加其权限。有一个例外是不受限制的状态,因为任何配置文件转换都是特权的减少。因此,在 ix 时刻(继承当前限制)和堆叠,您剩下两个潜在的转换。堆叠可能不是您想要的,因为它保留了当前的限制并在顶部添加了额外的限制。
知道还有什么原因info="no new privs"
吗?