J'ai trouvé ce tutoriel intéressant sur le blog Flossstuff .
Il explique comment créer un fichier vide, le formater en tant que ext4 et le monter en tant que périphérique.
J'aimerais savoir s'il peut être créé en tant que système de fichiers ext4 crypté.
J'ai essayé d'utiliser palimpseste (l'utilitaire de disque présent dans le menu Système) pour formater le système de fichiers déjà créé, mais cela ne fonctionne pas car il détecte le système de fichiers utilisé.
Si j'essaie de démonter le système de fichiers, cela ne fonctionnera pas non plus, car il ne détectera pas le périphérique (car ce n'est pas un véritable périphérique comme un disque dur ou une clé USB).
Ma question est donc la suivante: existe-t-il une option pour créer le système de fichiers tel que chiffré dès le début? J'ai utilisé ces commandes:
Créez un fichier vide de 200 Mo de taille:
dd if=/dev/zero of=/path/to/file bs=1M count=200
Faites-le ext4:
mkfs -t ext4 file
Montez-le dans un dossier à l'intérieur de ma maison:
Sudo mount -o loop file /path/to/mount_point
Existe-t-il un moyen pour la commande mkfs
de créer un système de fichiers ext4 chiffré demandant un mot de passe de déchiffrement?
Je prévois de l'utiliser comme moyen de chiffrer des fichiers dans Dropbox.
Vous pouvez utiliser cryptmount
pour chiffrer un système de fichiers, même si le système de fichiers se trouve sur un fichier.
La page de manuel cryptmount
contient une explication très simple et détaillée que je rapporte (modifiée) ici, et elle mentionne explicitement un système de fichiers basé sur un fichier.
Étape 1
Ajoutez une entrée dans /etc/cryptmount/cmtab
, comme suit:
mycrypt {
dev=/media/data/mycrypt dir=/home/enzotib/mycrypt
fstype=ext4 mountoptions=defaults cipher=twofish
keyfile=/etc/cryptmount/mycrypt.key
keyformat=builtin
}
où /media/data/mycrypt
est le fichier de support créé par dd
et /home/enzotib/mycrypt
est le point de montage souhaité.
Étape 2
Générer une clé de déchiffrement secrète
Sudo cryptmount --generate-key 32 mycrypt
Étape 3
Exécutez la commande suivante
Sudo cryptmount --prepare mycrypt
il vous sera ensuite demandé le mot de passe utilisé lors de la configuration de la clé
Étape 4
Créer le système de fichiers
Sudo mkfs.ext4 /dev/mapper/mycrypt
Étape 5
Exécuter
Sudo cryptmount --release mycrypt
Étape 6
Maintenant montez le système de fichiers
mkdir /home/enzotib/mycrypt
cryptmount -m mycrypt
puis démontez-le
cryptmount -u mycrypt
De même, si vous devez chiffrer un répertoire, il peut être utile de prendre en compte encfs
.
Suivez les étapes suivantes pour créer un fichier crypté avec un système de fichiers:
1. Le moyen le plus rapide de créer un fichier de taille donnée est:
fallocate -l 128M /path/to/file
2. Créez une partition LUKS (Linux Unified Key Setup) dans le fichier à l'aide de dm-crypt outils:
cryptsetup -y luksFormat /path/to/file
Vous pouvez vérifier que le fichier est un conteneur crypté:
/path/to/file: LUKS encrypted file, ver 1 [aes, xts-plain64, sha1] UUID: 7e2af5a1-3fab-43ea-a073-3b9cc6073f00
3. Ouvrir le conteneur chiffré:
cryptsetup luksOpen /path/to/file data
data
est le nom du volume du mappeur de périphérique. Vous pouvez choisir un autre nom.
Cela ouvre le périphérique LUKS et le mappe sur un nom que nous fournissons, créant dans notre cas un fichier à /dev/mapper/data
.
4. Créez le système de fichiers ext4
sur ce périphérique:
mkfs.ext4 /dev/mapper/data
5. Créez ensuite le point de montage:
mkdir /path/to/mount
6. Et montez le périphérique ici:
mount /dev/mapper/data /path/to/mount
7. Pour démonter le système de fichiers et fermer le périphérique LUKS:
umount /path/to/mount
cryptsetup luksClose data
Vous avez maintenant un conteneur LUKS chiffré contenant le système de fichiers ext4. Lorsque vous souhaitez l’utiliser, répétez simplement les étapes 3 et 6. Lorsque vous avez terminé, appelez l’étape 7.
Cet article m'a été très utile.
De plus, un jour, votre conteneur manquera d’espace. Supposons que la taille du fichier conteneur crypté est de 128 Mo et que nous souhaitons augmenter sa taille à 512 Mo. Pour augmenter sa capacité , procédez comme suit:
1. Démontez et fermez le périphérique LUKS (voir l'étape 7 de la liste ci-dessus).
2. Augmenter la taille du fichier conteneur:
dd if=/dev/zero of=/path/to/file bs=384M count=1 oflag=append conv=notrunc
3. Ouvrez le périphérique LUKS.
cryptsetup luksOpen /path/to/file data
4. Redimensionnez le périphérique LUKS afin qu'il corresponde à la taille du fichier conteneur. De la page de manuel:
Si --size (en secteurs) n'est pas spécifié, la taille du périphérique de bloc sous-jacent est utilisée.
Donc vous pouvez simplement:
cryptsetup resize data
5. Redimensionnez ensuite le système de fichiers ext4:
e2fsck -f /dev/mapper/data
resize2fs /dev/mapper/data
6. Vous pouvez maintenant remonter le système de fichiers:
mount /dev/mapper/data /path/to/mount
Vous pouvez utiliser la commande losetup avec le paramètre - e pour créer un périphérique de boucle chiffrée. Détails disponibles sur http://tldp.org/HOWTO/Cryptoloop-HOWTO/loopdevice-setup.html