• [^] # Re: Très intéressant, mais moins pratique que pledge

    Posté par . En réponse à la dépêche Linux capabilities : se passer des commandes su et sudo. Évalué à 1.

    Je ne l'ai jamais utilisé, mais il me semble que LXC en mode application fait quelque chose de ce genre là.

    Il y a aussi Flatpak qui est prometteur: une application flatpak arrive sous forme d'archive contenant un système de fichier, dans lequel tout est en lecture seule sauf certains dossiers spécifiques.
    Pour accéder au système de fichier réel, une application a deux possibilités:

    • Définir les chemins demandés dans le fichier de build de flatpak: ces permissions sont normalement affichées à l'installation (ce n'est pas encore le cas par les graphiques comme Gnome Software, mais c'est prévu pour la suite).
    • Demander d'ouvrir une boite de dialogue pour sélectionner un fichier en passant par le protocole xdg-desktop-portal. Gtk et Qt sont compatible avec cette API, c'est donc transparent pour le dev.

    On peut donc créer un paquet flatpak de façon à ce qu'une application ait un accès seulement vers une liste de dossiers spécifique (au hasard, ~/.local/share/my_app et ~/.config/my_app), et qu'elle soit obligée de passer par une boite de dialogue gérée par le système pour demander à ouvrir un fichier spécifique.

    D'ailleurs, il y a pas mal de jeux piratés pour Linux qui utilisent flatpak pour la distribution, et qui s'assure que les jeux ne mettent pas de fichier en vrac dans le dossier home. Les fichiers sont "redirigés" au bon endroit via un système de lien symbolique dans l'archive flatpak.