Empêcher l'utilisateur de lire des fichiers à partir de systèmes de fichiers vfat - mais autoriser l'écriture

0

C'est possible faire ça? Je veux monter un lecteur flash (vfat) sous Linux et que l'utilisateur puisse l'écrire mais pas le lire.

J'ai essayé:

mount / dev / sdb1 / media / mpoint -o fmask = 0444

mais aucun résultat. Après cela, je suis toujours capable de lire les fichiers dans le lecteur flash.

Raydel Miranda
la source
Quel système d'exploitation exactement?
Ramhound
Désolé, j'ai oublié de préciser, Linux.
Raydel Miranda
Pourquoi le vote bas? J'ai besoin d'explications si certains d'entre vous pensent que je fais quelque chose de mal ou que ma question est mauvaise.
Raydel Miranda
J'ai voté - en y réfléchissant, la question est en fait assez intéressante.
Volker Siegel
J'ai réfléchi à une approche plus compliquée pour le résoudre et j'ai écrit une autre réponse indépendante (supprimé l'ancien) - mais je pense que l'effort demandé est bien plus important que prévu. Mais si cela vous intéresse, je pourrais essayer de trouver un système de fichiers approprié.
Volker Siegel

Réponses:

1

Pour résoudre ce problème, vous avez évidemment besoin d’un meilleur système de permission qu'un système de fichiers FAT fournit. Cela peut être résolu en utilisant un superposer le système de fichiers :

le Système de fichiers FAT est monté normalement, et pas accessible du tout pour l'utilisateur.
le autorisations sont gérés par un système de fichiers qui stocke ses fichiers comme des fichiers sur le système de fichiers FAT - mais peut implémenter des fonctionnalités supplémentaires, telles qu'un système de permission
(Je ne sais pas quel système de fichiers correspond à vos besoins - mais je suppose qu'il y en a plusieurs qui pourraient être utilisés, ignorant la plupart de leurs fonctionnalités.)

Ce système de fichiers superposé ou union est ce à quoi l'utilisateur aura accès et où vous pouvez définir des autorisations restreintes.
le autorisation système serait juste la Unix normal / Style Linux.
En utilisant cela, vous pouvez simplement définir autorisations en écriture seule sur tous les fichiers et répertoires.
Pour naviguer dans un répertoire, l'utilisateur n'a pas besoin de répertorier les noms de fichier et de répertoire qu'il contient; Mais il doit accéder aux répertoires impliqués eux-mêmes - . et ...

Vous pouvez autoriser ce dont il a besoin avec une autorisation spéciale: Répertoires ont le x permission comme des fichiers - mais sont non exécutable en premier lieu. Cette autorisation d'exécution du répertoire non utilisé est utilisée pour gérer juste ce dont vous avez besoin . Si le bit r n'est pas défini, mais que le x l'est, l'utilisateur peut toujours lire le petit peu dont il a besoin ici.

Ensuite, l'utilisateur ne peux pas les lister , mais il peut utiliser des répertoires qu'il connaît lui-même. Il peut ** cd dans ** répertoires connus.

Pour définir les autorisations appropriées pour les nouveaux fichiers, définissez une option. umask restrictif pour l'utilisateur.

Volker Siegel
la source
Cela semble très intéressant, supposons que je veuille utiliser "ext3" comme système de fichiers, pouvez-vous poster un exemple? Est-ce pris en charge dans le noyau ou s’applique-t-il à une seule distribution (Ubuntu, par exemple)?
Raydel Miranda