Linux AppArmor用“拒绝执行”;“没有新的特权”;当非特权=否时
在尝试限制我的Python应用程序之后,我一直在关注这些AppArmor消息Linux AppArmor用“拒绝执行”;“没有新的特权”;当非特权=否时,linux,embedded-linux,systemd,apparmor,Linux,Embedded Linux,Systemd,Apparmor,在尝试限制我的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=
[ 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生成)
#包括
profile/var/www/localhost/fastcgi/api.py flags=(连接已断开){
#include我注意到api.service
确实设置了NoNewPrivileges=yes
。因此我将其更改为NoNewPrivileges=no
(并重新加载了服务),但这并没有改变任何事情。行为仍然完全相同
是一旦任务处于无新权限下,则不允许更改其配置文件
并可能增加其权限。有一个例外是
无约束状态,因为任何剖面过渡都是
特权。
因此,在时刻ix(inherit)剩下两个可能的转换
当前限制)和堆叠。堆叠可能不是什么
您希望它保持当前限制,并添加其他限制
顶部的限制
你知道还有什么原因吗?找到了
ProtectHostname=yes似乎表示非特权=yes
#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,
}
}