09
2024
10
22:16:26

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

如果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




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

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

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: