Limiter l’accès au système de fichiers

Bonjour,

Je suis en train de monter une machine linux qui devra servir de “kiosque” en libre service pour des utilisateurs non-avertis.

J’ai installé un ensemble de logiciels pour ça : navigateur web, explorateur de fichiers, OpenOffice, lecteur vidéo…

Avec un peu de config pour les différents softs, et un utilisateur aux droits limités, ça marche très bien, mais j’ai un soucis : l’utilisateur ne peut accéder en écriture que à son répertoire “home”, ce qui limite grandement les éventuelles “fausses manip’”, mais ce répertoire contient aussi pleins de fichiers cachés (fichiers de conf, fichiers temporaires…) sur lesquels l’utilisateur a les droits pour “faire des bêtises”

Du coup je cherche un moyen de bloquer l’accès à ces fichiers depuis une session graphique : en gros ne JAMAIS pouvoir afficher les fichiers cachés dans les différents explorateurs de fichiers (système ou “Fichier/Ouvrir” dans un logiciel) suffirait à mes besoins.

J’ai pensé à différentes solutions :

1/ déplacer ces fichiers ailleurs, dans un endroit bien caché, pour que l’utilisateur n’aille pas les modifier
=> possible mais compliqué, et pas sûr que ce soit possible pour tous les logiciels de leur indiquer où trouver ces fichiers

2/ lancer tous les logiciels au nom d’un autre utilisateur afin de ne rien stocker dans le “home” de l’utilisateur réel du système
=> dans un logiciel, le menu “fichier/ouvrir” donnerait quand même l’accès à ces fichiers

3/ faire un chroot avant le lancement de tous les logiciels pour déplacer la racine vers un sous-répertoire de “home”
=> les fichiers de conf stocké dans “home” ne seraient plus accessibles pour les softs concernés

4/ recompiler certaines parties du système pour supprimer les options “afficher les fichiers cachés” des différentes GUI
=> je sais pas trop si c’est possible…

5/ Utiliser un système de fichiers virtuel
=> je sais pas trop si c’est possible… et si ça permet de résoudre mon probleme !

Bref, si quelqu’un a des pistes / idées, je prends !

Y’a une distro spécialisée pour les kiosques : webconverger.com/
(en plus elle est basée sur Debian)

Sinon, pour un tel système, dans les grandes lignes :

  • OS en lecture seule (montage read-only de / dans /etc/fstab)
  • répertoires “volatiles” (/var/tmp, …) en tmpfs
  • éventuellement le /home en tmpfs, recréé à chaque démarrage

… ou le chroot que tu envisage déjà et qui me semble être de mise dans ton cas.
Il y a un tuto dans T&A (Trucs et Astuces).

Merci pour vos réponses !

Pour webconverger, ça m’a l’air d’être un kiosk avec uniquement un navigateur web, et j’ai besoin de plus que cela, notamment pouvoir accéder à tous les documents d’une clé USB, et pouvoir les éditer (pour des docs LibreOffice par exemple)

Pour le chroot, je ne suis pas sûr de bien comprendre comment les softs vont trouver leurs fichiers de configuration, mais je vais creuser.