AppArmor funziona tramite eseguibile. Non riesce a capire che Firefox ha caricato un profilo diverso e quindi dovrebbe utilizzare un profilo AppArmor diverso.
AppArmor supporta le regole di modifica, che consentono a un'applicazione di modificare il profilo a cui si applica. Il caso d'uso previsto è proprio quello di consentire a un'applicazione di passare a un profilo più restrittivo una volta terminata l'inizializzazione e capito a cosa deve accedere in questa particolare istanza. Quindi, se Firefox fosse compatibile con AppArmor, sarebbe possibile dargli change_profile
regola e chiedigli di applicare la transizione una volta che ha capito quale profilo eseguire come. Per quanto ne so, questo non è stato fatto.
Quello che puoi fare senza programmare è fare più copie o hard link del firefox-bin
eseguibile e definire profili diversi per ciascuno di essi (AppArmor si basa sul percorso dell'eseguibile, quindi collegamenti reali diversi non devono utilizzare lo stesso profilo, a differenza di SELinux che si basa su inode). Ciò richiede root e non è così conveniente, motivo per cui la funzione di modifica del profilo è stata aggiunta ad AppArmor.