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 09/04/2026, 16:50] – [Solution avec utilisation du trousseau de clé] 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 65: | Ligne 66: | ||
| <note tip>Si l' | <note tip>Si l' | ||
| ==== Solution automatique. ==== | ==== Solution automatique. ==== | ||
| - | Des services utilisateur [[:/ | + | Des services utilisateur [[:/ |
| - | Les exemples ci-dessous seront revus et externalisés afin d' | + | ===== Réutilisation de cet espace disque par un autre O.S. ===== |
| - | Il y aura un exemple 24.04 et un autre 26.04. | + | ==== De type ubuntu ==== |
| + | Si cet espaace est chiffré en utilisant | ||
| + | <code bash> | ||
| + | ==== De type windows ==== | ||
| + | En plus des contraintes ubuntu, comme les noms de fichiers n’utilisent pas la méme norme, il sera nécessaire de modifier les noms des disques décrivant les entités | ||
| + | |||
| + | |||
| - | ==== Solution standard==== | ||
| - | Un service **utilisateur** demande la valeur | ||
| - | === Le script de montage === | ||
| - | <code bash> | ||
| - | #!/bin/bash | ||
| - | Data=MesDonneesPersonnelles | ||
| - | Statut=$(zpool list $Data |tail -1 ) | ||
| - | if [[ ! $Statut =~ " | ||
| - | | ||
| - | sudo zpool export | ||
| - | sudo zpool import -f $Data | ||
| - | fi | ||
| - | sudo zfs set mountpoint=/ | ||
| - | for (( i=1; i < 9; i++ )); do | ||
| - | echo itération-$i dans le service USER de ZFS | ||
| - | Statut=$(zfs get mounted | ||
| - | if [[ $Statut =~ " | ||
| - | | ||
| - | sleep 2 | ||
| - | sudo zfs mount -l $Data <<< | ||
| - | else i=10 | ||
| - | fi | ||
| - | done | ||
| - | if [[ ! $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' | ||
| - | <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 de la partition de données personnelles ZFS est terminé. | ||
| - | 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</ | ||
