我知道有一种比完全停止服务和拆除 AppArmor 配置文件更安全、更有针对性的方法来排除 AppArmor 可能造成的问题。有人能告诉我详细信息以及更好方法的优点吗?
答案1
这是我的想法(来自https://wiki.ubuntu.com/DebuggingApparmor)——“抱怨模式”。这并没有解决此方法与其他调试方法相比的相对优点或后果的问题。
调试时,将 apparmor 置于“投诉”模式也很有用。这将允许您的应用程序正常运行,同时 apparmor 报告不在配置文件中的访问。要启用“投诉”模式,请使用:
sudo aa-complain /path/to/bin
其中“/path/to/bin”是二进制文件的绝对路径,如“audit”条目的“profile=...”部分所述。例如:
sudo aa-complain /usr/sbin/slapd
要重新启用强制模式,请改用“aa-enforce”:
sudo aa-enforce /path/to/bin
要禁用配置文件:
sudo touch /etc/apparmor.d/disable/path.to.bin sudo apparmor_parser -R /etc/apparmor.d/path.to.bin
在进行故障排除时,如果出现与奇怪的权限问题相关的问题(“嗯,看起来像是访问控制,但不是 Unix 权限问题,也不是 NFS 问题,也不是 PAM 问题,也不是媒体安装错误等——也许是 AppArmor。”),Kees Cook 指出,最好的做法是检查系统日志。值得注意的是,根据 Kees Cook 的说法,“的输出dmesg
将报告所有 AppArmor 拒绝,并将包含配置文件。”