📖 ~1 min read
Table of contents
Symptom & Impact
An application aborts at startup; `dmesg` shows `audit: type=1400 apparmor=”DENIED”`.
Environment & Reproduction
Triggered after upgrading an app package whose binary path or capability set changed.
Root Cause Analysis
The shipped AppArmor profile no longer matches the new binary behaviour.
Quick Triage
List loaded profiles: `aa-status` and identify the denied program.
Step-by-Step Diagnosis
Replay denials with `journalctl -k | grep apparmor` and run `aa-logprof` interactively.

Solution – Primary Fix
Update the profile in `/etc/apparmor.d/`, then `systemctl reload apparmor`.
Still having issues? Our IT Solutions & Services team can diagnose and resolve this for you. Get in touch for a free consultation.

Solution – Alternative Approaches
Put the profile in complain mode (`aa-complain `) during validation.
Verification & Acceptance Criteria
Application starts cleanly and `aa-status` reports the profile in enforce mode.
Rollback Plan
Revert the profile file from snapper or `/etc/apparmor.d/*.rpmsave` if changes regress.
Prevention & Hardening
Test AppArmor profile changes in staging before promoting to production.
Related Errors & Cross-Refs
Linked to `audit2allow`-style workflows familiar from SELinux.
Related tutorial: View the step-by-step tutorial for sles-16.
View all sles-16 tutorials on the Tutorials Hub →
Browse all common problems & solutions on the Tutorials Hub.
References & Further Reading
SUSE AppArmor administration guide.
Need Expert Help?
If you cannot resolve this yourself, our team offers hands-on Server Management, Managed IT Services, and flexible Support Plans. Contact us today — we respond within one business day.