AppArmor bekerja dengan cara dieksekusi. Tidak dapat mengetahui bahwa Firefox telah memuat profil yang berbeda sehingga harus menggunakan profil AppArmor yang berbeda.
AppArmor mendukung aturan perubahan, yang memungkinkan aplikasi mengubah profil mana yang berlaku untuknya. Kasus penggunaan yang dimaksudkan adalah untuk memungkinkan aplikasi beralih ke profil yang lebih ketat setelah selesai melakukan inisialisasi dan mengetahui apa yang perlu diakses dalam contoh khusus ini. Jadi jika Firefox adalah AppArmor-aware, itu mungkin untuk memberikannya change_profile
aturan dan minta itu menerapkan transisi setelah mengetahui profil mana yang akan dijalankan. Sejauh yang saya tahu, ini belum dilakukan.
Apa yang dapat Anda lakukan tanpa pemrograman adalah membuat banyak salinan atau tautan keras dari firefox-bin
dapat dieksekusi, dan tentukan profil yang berbeda untuk masing-masingnya (AppArmor didasarkan pada jalur ke yang dapat dieksekusi, jadi tautan keras yang berbeda tidak perlu menggunakan profil yang sama, tidak seperti SELinux yang didasarkan pada inode). Ini membutuhkan root dan tidak begitu nyaman, itulah sebabnya fitur ubah profil ditambahkan ke AppArmor.