AppArmor funguje pomocí spustitelného souboru. Nemůže zjistit, že Firefox načetl jiný profil, a tak by měl použít jiný profil AppArmor.
AppArmor podporuje pravidla změn, která umožňují aplikaci změnit, který profil se na ni vztahuje. Zamýšleným případem použití je právě umožnit aplikaci přepnout na přísnější profil, jakmile dokončí inicializaci a zjistí, k čemu potřebuje v tomto konkrétním případě přistupovat. Pokud by tedy Firefox uměl AppArmor, bylo by možné mu dát change_profile
pravidlo a nechat jej použít přechod, jakmile zjistí, který profil spustit. Pokud vím, tak to nebylo provedeno.
Co můžete udělat bez programování, je vytvořit více kopií nebo pevných odkazů firefox-bin
spustitelný soubor a definovat různé profily pro každý z nich (AppArmor je založen na cestě ke spustitelnému souboru, takže různé pevné odkazy nemusí používat stejný profil, na rozdíl od SELinuxu, který je založen na inodech). To vyžaduje root a není to tak pohodlné, proto byla do AppArmor přidána funkce změny profilu.