Si, vous utilisez des applications Flatpak, vous avez peut-être déjà installé une application dans ce format qui ne permettait d’enregistrer des documents sur une clé USB ou à un endroit autre que votre dossier /home
… Cela est dû à une configuration des permissions de l’application trop restrictive par le constructeur du paquet Flatpak. Aussi, voici comment modifier ces permissions pour vos applications Flatpak installées.
Table des matières
Les permissions d’une application Flatpak, c’est quoi ?
Lorsque vous lancez une application Flatpak, elle s’exécute dans une sandbox. Cela l’isole du système et renforce la sécurité. Alors pour accéder aux ressources de ce dernier, l’application doit demander des permissions individuelles pour, par exemple, accéder au réseau, au système du fichier, au système de notification, aux périphériques…
En principe, les concepteurs d’un paquet Flatpak définissent ces autorisations pour un bon fonctionnement de l’application sans lui donner accès à tout le système. Sauf que parfois, les permissions définies peuvent être un peu trop restrictives… Mais heureusement, il est possible, pour un utilisateur avancé qui sait ce qu’il fait, de les modifier !
Cela peut se faire de plusieurs manières. Par exemples :
- dans un terminal avec des commandes
flatpak
- graphiquement avec Flatseal, un utilitaire qui facile grande la gestion des permissions dans une interface plus conviviale…
- …
Modifier les permissions peut avoir un impact sur la sécurité de votre système et le fonctionnement de l’application. Alors faites bien attention à ce que vous faites…
Modifier les permissions d’une application Flatpak avec Flatseal
Présentation de Flatseal
Flatseal est un utilitaire graphique libre (licence GPLv3) qui permet de visualiser et modifier facilement les permissions pour les applications Flatpak installées sur votre système Linux.
Bien que disponibles dans plusieurs langues, il n’est actuellement (septembre 2021) pas traduit en français.
Le code source de Flatseal est disponible sur GitHub.
Installation de Flatseal
Flatseal est disponible au format Flatpak sur le Flathub.
Vous pouvez donc l’installer depuis un gestionnaire de logiciels (Gnome-Software ou Discover) qui intègre à ses sources le Flathub. Sinon, vous pouvez utiliser la commande :
flatpak install flathub com.github.tchx84.Flatseal
Vous trouverez le lanceur de Flatseal dans votre menu des Applications :
Sinon, vous pouvez le lancer avec la commande :
flatpak run com.github.tchx84.Flatseal
Utilisation de Flatseal
L’utilisation de Flatseal pour modifier les permissions d’une application Flatpak est très simple :
Dans la partie gauche de la fenêtre de Flatseal (1), vous avez la liste des applications Flatpak installées sur votre système et dans la partie droite (2), pour une application sélectionnée, des informations la concernant dont l’état des permissions accordées.
Pour modifier une permission, validez ou non le bouton correspondant. La modification est immédiate sans validation.
Par exemple :
- pour permettre l’accès à une application Flatpak à tous les dossiers et fichiers du système (dans la limite de ce que permet les droits de votre utilisateur), dans la section Filesystem, cochez All systeme files.
- pour ne pas permettre l’accès au réseau (en donc internet) à une application Flatpak, dans la section Share, décochez Network.
Et pour remettre les permissions d’une application dans leur état initiale, cliquez sur le bouton Reset. Ce dernier n’est cliquable que s’il y a eu des modifications par rapport à l’état par défaut.
Modifier les permissions d’une application Flatpak en ligne de commande
Visualiser les permissions d’un paquet Flatpak en ligne de commande
Lors de l’installation d’une application Flatpak en ligne de commande, au début de l’opération, les permissions appliquées sont présentées :
Sinon, dans un terminal, faites :
flatpak info -M [ID_du_paquet]
[ID_du_paquet]
: à remplacer pour l’ID de l’application souhaitée.
Par exemple :
flatpak info -M org.libreoffice.LibreOffice
Plus d’informations sur la commande flatpak info
et ses options dans la documentation officielle (en anglais)
Il est aussi possible de voir uniquement les permissions modifiées avec la commande :
flatpak override --show [ID_du_paquet]
[ID_du_paquet]
: à remplacer pour l’ID de l’application souhaitée.
Par exemple :
flatpak override --show org.libreoffice.LibreOffice
Modifiez les permissions en ligne de commande
Pour ajouter une permission, utilisez la commande :
sudo flatpak override [option] [ID_du_paquet]
[option]
: à remplacer par la permission à donner ou supprimer. Vous trouverez la liste des options possibles sur la page de flatpak override
dans la documentation officielle (en anglais) ou dans la documentation de Flatseal (en anglais)
[ID_du_paquet]
: à remplacer pour l’ID de l’application souhaitée.
Par exemple :
- pour donner l’accès permettre l’accès à l’application Flatpak OCRFeeder à tout le système de fichier (dans la limite de ce que permet les droits de votre utilisateur), faites :
sudo flatpak override --filesystem=host org.gnome.OCRFeeder
- pour interdire l’accès au réseau et donc internet à l’application Flatpak Firefox, faites :
sudo flatpak override --unshare=network org.mozilla.firefox
Et pour revenir aux permissions par défaut, faites :
sudo flatpak override --reset [ID_du_paquet]
[ID_du_paquet]
: à remplacer pour l’ID de l’application souhaitée.
Par exemple :
sudo flatpak override --reset org.mozilla.firefox
Pour aller plus loin
- La documentation officielle sur les permissions des paquets Flatpak (en anglais) et une liste des principales permissions disponibles (en anglais)
- La page du projet GitHub de Fleatseal (en anglais) et sa page de Flatseal sur le Flathub (en anglais)
- La documentation de Flatseal (en anglais)