Comment est-ce que je couche la compression au-dessus du chiffrement au-dessus de BtrFS, par dossier?

BtrFS devrait soutenir cela vraiment, mais ce n'est pas le cas . ECryptFS semble donc combler le vide. La seule chose est, comment puis-je compresser la couche en plus de cela?

Raisons de la compression sur le chiffrement:

  • intentionnellement, le contraire (chiffrement au-dessus de la compression) ne compresse pas, parce que le chiffrement essaye idéalement de rendre le text chiffrable indiscernable des données randoms;
  • le encryption des informations plus denses est plus sûr.

Je search une solution au niveau du système de files, de sorte que les files peuvent être chiffrés avec des keys différentes (par exemple pour les users / groupes) sur une base ad hoc (c'est-à-dire peuvent être modifiés sans reconfiguration majeure avec le niveau bloc encryption).

Il semble que seule approche à gauche emstack un système de files de compression sur le dessus du système de files de encryption. Voici quelques options, mais je n'ai pas d'expérience pratique avec eux:

  • FuseCompress hébergé sur GitHub
  • SquashFS, JFFS2, ou une combinaison décrite sur LWN

Je doute que vous puissiez sélectionner la compression ou le encryption par file. Btrfs est censé offrir cela mais la réalité est probablement loin de là. Tout comme il était censé avoir RAID5 ans auparavant.

Vous devez intégrer le système de files de compression dans un file de database qui est exécuté lorsque le système de files compressé est monté sur encryptfs (en utilisant l'option -o pour le passage des arguments de assembly). Ce sera un système de files empilable agissant sur la request de lecture / écriture de file entrant selon certains mécanismes prédéfinis dans les methods de système de files.

Supposons que certains files doivent être compressés avec un certain algorithm, cela doit être déterminé par les methods de lecture / écriture que vous allez écrire dans compressfs / main.c et file.c etc. Ecrire un code de niveau user en implémentant ioctl pour mettre à jour le fonctionnement de cette compression système de files tel que l'ajout / suppression / la list des algorithms pris en charge en écrivant à cette database que vous avez porté pendant le assembly.