×

由于AppArmor拦截导致snap程序异常的问题

hqy hqy 发表于2024-10-09 22:16:26 浏览249 评论0

抢沙发发表评论

如果dmesg可以看到如下的审计信息, 则说明是AppArmor拦截的snap应用, 关键信息apparmor="DENIED"

audit: type=1400 audit(1431384420.408:319): apparmor="DENIED" operation="mkdir" profile="snap.foo.bar" name="/var/lib/foo" pid=637 comm="bar" requested_mask="c" denied_mask="c" fsuid=0 ouid=0

修改apparmor的配置文件放过拒绝的文件即可name="/var/lib/foo", 这里即是被拒绝的文件

需要注意的是, snap应用和普通程序(例如apt安装的程序)的配置文件路径不同

snap应用的apparmor配置文件在/var/lib/snapd/apparmor/profiles/目录
普通程序的apparmor配置文件在/etc/apparmor.d/目录

配置文件的名称一般是可执行程序的全路径, 把/替换成了.

修改配置文件, 找到类似/usr/bin/xxx {开头的地方, 在{后添加规则

/var/lib/foo rw,

使用apparmor_parser命令, 重新加载配置文件即可

sudo apparmor_parser -r 配置文件路径

apparmor的配置文件还是挺复杂的, 详细配置见参考资料

参考资料

配置文件组件和语法
Debugging snaps
apparmor_parser - loads AppArmor profiles into the kernel


本文链接:https://hqyman.cn/post/8121.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到: