Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| tutoriel:donnees_stockees_dans_un_systeme_de_fichiers_zfs [Le 08/04/2026, 17:20] – [Mise disposition de cet espace disque] Plus de détails. geole | tutoriel:donnees_stockees_dans_un_systeme_de_fichiers_zfs [Le 13/05/2026, 16:29] (Version actuelle) – [Solution automatique.] geole | ||
|---|---|---|---|
| Ligne 9: | Ligne 9: | ||
| [[https:// | [[https:// | ||
| + | [[https:// | ||
| Ligne 23: | Ligne 24: | ||
| Grâce à l' | Grâce à l' | ||
| Si les partitions utilisées sont déjà formatées ZFS, il est nécessaire de les reformater (en EXT4 par exemple) car la création sera refusée. Sinon, les partitions peuvent être déclarées non-formatées. La taille minimale des partitions est de **64 Mo.** | Si les partitions utilisées sont déjà formatées ZFS, il est nécessaire de les reformater (en EXT4 par exemple) car la création sera refusée. Sinon, les partitions peuvent être déclarées non-formatées. La taille minimale des partitions est de **64 Mo.** | ||
| - | ==== Mise disposition de cet espace disque ==== | + | !==== Mise disposition de cet espace disque ==== |
| La mise à disposition pour l' | La mise à disposition pour l' | ||
| <code bash> | <code bash> | ||
| * '' | * '' | ||
| - Permet de détruire le contenu des espaces disques sélectionnés. | - Permet de détruire le contenu des espaces disques sélectionnés. | ||
| - | * '' | + | * '' |
| - | * - Ne pas mettre cette option équivaut à effectuer le montage dans le point de montage racine **/**. | + | |
| - Choisir **/media/** en 24.04 à cause des applications snap. | - Choisir **/media/** en 24.04 à cause des applications snap. | ||
| - Choisir **/ | - Choisir **/ | ||
| Ligne 40: | Ligne 41: | ||
| - Est obligatoire lorsque le logiciel n'est pas lui-même chiffré afin d' | - Est obligatoire lorsque le logiciel n'est pas lui-même chiffré afin d' | ||
| - Sera à frapper **en mode aveugle** à chaque demande de montage ((Sauf à utiliser | - Sera à frapper **en mode aveugle** à chaque demande de montage ((Sauf à utiliser | ||
| - | * '' | + | * '' |
| - Est utilisable lorsque le logiciel est lui-même chiffré. Ce qui normalement exclu le risque que quiconque puisse en connaître la valeur. | - Est utilisable lorsque le logiciel est lui-même chiffré. Ce qui normalement exclu le risque que quiconque puisse en connaître la valeur. | ||
| - Sera à frapper | - Sera à frapper | ||
| Ligne 63: | Ligne 64: | ||
| <code bash> | <code bash> | ||
| Le mot de déchiffrement sera demandé | Le mot de déchiffrement sera demandé | ||
| - | ==== Solution standard==== | + | <note tip>Si l' |
| - | Un service **utilisateur** demande la valeur | + | ==== Solution automatique. |
| - | === Le script de montage | + | Des services utilisateur |
| - | <code bash> | + | ===== Réutilisation |
| - | # | + | ==== De type ubuntu ==== |
| - | Data=MesDonneesPersonnelles | + | Si cet espaace |
| - | Statut=$(zpool list $Data |tail -1 ) | + | <code bash> |
| - | if [[ ! $Statut =~ " | + | ==== De type windows |
| - | | + | En plus des contraintes ubuntu, comme les noms de fichiers n’utilisent pas la méme norme, il sera nécessaire |
| - | sudo zpool export | + | |
| - | sudo zpool import -f $Data | + | |
| - | fi | + | |
| - | sudo zfs set mountpoint=/media/$Data $Data | + | |
| - | for (( i=1; i < 9; i++ )); do | + | |
| - | echo itération-$i dans le service USER de ZFS | + | |
| - | Statut=$(zfs get mounted | + | |
| - | if [[ $Statut =~ " | + | |
| - | ret=`DISPLAY=:1 zenity --entry --title=" | + | |
| - | sleep 2 | + | |
| - | sudo zfs mount -l $Data <<< | + | |
| - | else i=10 | + | |
| - | | + | |
| - | done | + | |
| - | if [[ ! $Statut | + | |
| - | | + | |
| - | fi | + | |
| - | EOF | + | |
| - | sleep 1 | + | |
| - | chmod +x /$HOME/ZFS.sh | + | |
| - | cat $HOME/ZFS.sh | + | |
| - | $HOME/ZFS.sh</ | + | |
| - | === Le script d' | + | |
| - | <code bash> | + | |
| - | cat <<' | + | |
| - | [Unit] | + | |
| - | Description=Montage de la partition de données personnelles. | + | |
| - | DefaultDependencies=no | + | |
| - | [Service] | + | |
| - | Type=simple | + | |
| - | ExecStartPre=echo | + | |
| - | ExecStart=/ | + | |
| - | ExecStopPost=echo Le ontage | + | |
| - | StandardOutput=journal+console | + | |
| - | [Install] | + | |
| - | WantedBy=default.target | + | |
| - | EOF | + | |
| - | sleep 1 | + | |
| - | systemctl | + | |
| - | systemctl --user enable ZFS.service ; systemctl --user start ZFS.service | + | |
| - | systemctl --user --no-pager -l status ZFS.service</ | + | |
| - | **La valeur de la clé de déchiffrement doit être dans un fichier**. Il existe quatre solutions: | ||
| - | - Le logiciel | ||
| - | - Le logiciel n'est pas chiffré, La clé de chiffrement | ||
| - | - La clé de déchiffrement est stockée dans le [[: | ||
| - | - Un service **système** demande à l' | ||
| - | S' | ||
| - | <code bash> | ||
| - | Devenir administrateur en frappant **sudo -i** pour définir la nouvelle commande de création de l' | ||
| - | <code bash> | ||
| - | wc / | ||
| - | zpool create -f -m / | ||
| - | shred / | ||
| - | Penser à personnaliser la première ligne et le nom retenu pour la désignation de l' | ||
| - | === Le script de montage avec demande de mot de passe la connexion.=== | ||
| - | <code bash> | ||
| - | #!/bin/bash | ||
| - | Data=MesDonneesPersonnelles | ||
| - | echo Entrée dans le service USER de ZFS | tee -a /dev/kmsg | ||
| - | for (( i=1; i < 300; i++ )); do | ||
| - | MOI=$(loginctl list-users | head -2 | tail -1) | ||
| - | IDn=$(echo $MOI | cut -d" " -f1) ; IDx=$(echo $MOI | cut -d" " -f2) ; | ||
| - | if [[ $IDn -gt 999 ]] ; then | ||
| - | i=300 | ||
| - | else | ||
| - | sleep 1 | ||
| - | | ||
| - | fi | ||
| - | done | ||
| - | for (( i=1; i < 9; i++ )); do | ||
| - | echo itération-2-1-$i dans le service USER de ZFS | tee -a /dev/kmsg | ||
| - | Statut=$(zfs get mounted | ||
| - | if [[ $Statut =~ " | ||
| - | | ||
| - | echo $ret > / | ||
| - | sleep 1 | ||
| - | zfs mount -vl $Data | ||
| - | shred -n 0 -z / | ||
| - | else i=10 | ||
| - | fi | ||
| - | done | ||
| - | if [[ ! $Statut =~ " | ||
| - | sudo -u $IDx DISPLAY=:1 zenity --error --text "La partition $Data n'est pas disponible; veuillez investiguer!" | ||
| - | fi | ||
| - | EOF | ||
| - | sleep 1 | ||
| - | chmod +x / | ||
| - | cat /roo/ZFS.sh | ||
| - | / | ||
| - | Penser à personnaliser la troisième ligne. Cela ne coùte rien de l' | ||
| - | === Le script de montage avec avec utilisation du trousseau de clé.=== | ||
| - | Voir chapitre dédié. | ||
| - | === Le script d' | ||
| - | <code bash>cat <<' | ||
| - | [Unit] | ||
| - | Description=Montage de la partition de données personnelles. | ||
| - | DefaultDependencies=no | ||
| - | [Service] | ||
| - | Type=simple | ||
| - | TimeoutSec=5minutes | ||
| - | ExecStartPre=echo | ||
| - | ExecStartPre=sleep 60 | ||
| - | # Temps approximatif pour l' | ||
| - | ExecStartPre=echo | ||
| - | ExecStart=/ | ||
| - | ExecStopPost=echo Montage de la partition de données personnelles ZFS est terminé | ||
| - | StandardOutput=journal+console | ||
| - | StandardError=journal+console | ||
| - | [Install] | ||
| - | WantedBy=multi-user.target | ||
| - | EOF | ||
| - | sleep 1 | ||
| - | ##### Essais. | ||
| - | systemctl | ||
| - | systemctl enable ZFS.service ; systemctl start ZFS.service | ||
| - | systemctl | ||
| - | exit</ | ||
| - | ==== Solution avec utilisation du trousseau de clé==== | ||
| - | Il est nécessaire d' | ||
| - | - Installer un logiciel. <code bash> | ||
| - | - Y stocker la phrase secrète.< | ||
| - | - Vérifier que la clé de chiffrement correspond bien. <code bash> | ||
| - | - En cas de gros problème, il est possible de supprimer cette saisie <code bash>rm -v $HOME/ | ||
| - | puis créer le script de montage de la partition. <code bash> | ||
| - | #!/bin/bash | ||
| - | Data=MesDonneesPersonnelles | ||
| - | if [[ ! $Statut =~ " | ||
| - | | ||
| - | sudo zpool clear $Data | ||
| - | sudo zpool export | ||
| - | sudo zpool import -f $Data | ||
| - | fi | ||
| - | sudo zfs set mountpoint=/ | ||
| - | sudo zfs mount -l $Data <<< | ||
| - | Statut=$(zfs get mounted | ||
| - | [ ! $Statut =~ " | ||
| - | DISPLAY=:1 zenity --error --text "La partition $Data n'est pas disponible; veuillez investiguer!" | ||
| - | fi | ||
| - | EOF | ||
| - | sleep 1 | ||
| - | chmod +x / | ||
| - | cat $HOME/ | ||
| - | $HOME/ | ||
| - | Le script d' | ||
| - | Nota. Si le trousseau de clé a été fabriqué avant la création | ||
