Я понимаю, что есть более безопасный и более целенаправленный способ устранения возможного вклада AppArmor в проблему, чем полная остановка службы и разрушение профилей AppArmor. Может кто-нибудь дать мне детали и преимущества лучшего подхода?
Вот то, о чем я думал (из https://wiki.ubuntu.com/DebuggingApparmor ) - «режим жалобы». Это не решает проблему относительных достоинств или последствий этого по сравнению с другими методами отладки.
При отладке также может быть полезно перевести apparmor в режим «жалоб». Это позволит вашему приложению нормально функционировать, пока apparmor сообщает о доступах, которых нет в профиле. Чтобы включить режим «жалобы», используйте:
sudo aa-complain /path/to/bin
где «/ путь / к / bin» - это абсолютный путь к двоичному файлу, как указано в части «profile = ...» Аудиторская запись. Например:
sudo aa-complain /usr/sbin/slapd
Чтобы повторно включить принудительный режим, используйте вместо этого «aa-forcece»:
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, или медиа Кис Кук отмечает, что лучший способ - это проверить системные журналы. В частности, по словам Киса Кука, «выходные данные dmesg
будут сообщать обо всех отказах AppArmor и будут включать профиль».