AppArmor fonctionne par exécutable. Il ne peut pas comprendre que Firefox a chargé un profil différent et doit donc utiliser un profil AppArmor différent.
AppArmor prend en charge les règles de modification, qui permettent à une application de modifier le profil qui s'applique à elle. Le cas d'utilisation prévu est précisément de permettre à une application de basculer vers un profil plus restrictif une fois qu'elle a fini de s'initialiser et de comprendre à quoi elle doit accéder dans ce cas particulier. Donc, si Firefox était compatible avec AppArmor, il serait possible de lui donner change_profile
règle et faites-lui appliquer la transition une fois qu'il a déterminé le profil à exécuter. Autant que je sache, cela n'a pas été fait.
Ce que vous pouvez faire sans programmation, c'est faire plusieurs copies ou liens physiques du firefox-bin
exécutable, et définissez des profils différents pour chacun d'eux (AppArmor est basé sur le chemin d'accès à l'exécutable, donc différents liens physiques n'ont pas besoin d'utiliser le même profil, contrairement à SELinux qui est basé sur des inodes). Cela nécessite root et n'est pas si pratique, c'est pourquoi la fonctionnalité de changement de profil a été ajoutée à AppArmor.