AppArmor funciona por ejecutable. No puede darse cuenta de que Firefox ha cargado un perfil diferente y, por lo tanto, debe usar un perfil de AppArmor diferente.
AppArmor admite reglas de cambio, que permiten que una aplicación cambie el perfil que se le aplica. El caso de uso previsto es precisamente permitir que una aplicación cambie a un perfil más restrictivo una vez que termine de inicializarse y descubra a qué necesita acceder en esta instancia en particular. Entonces, si Firefox fuera compatible con AppArmor, sería posible darle change_profile
regla y haga que aplique la transición una vez que haya descubierto con qué perfil se ejecutará. Que yo sepa, esto no se ha hecho.
Lo que puede hacer sin programar es hacer múltiples copias o enlaces duros del firefox-bin
ejecutable y defina diferentes perfiles para cada uno de ellos (AppArmor se basa en la ruta al ejecutable, por lo que no es necesario que diferentes enlaces duros usen el mismo perfil, a diferencia de SELinux, que se basa en inodos). Esto requiere root y no es tan conveniente, razón por la cual se agregó la función de cambio de perfil a AppArmor.