Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
tutoriel:sauvegardes_nomades_securisees [Le 14/04/2024, 15:39] livier [Précautions complémentaires indispensables] |
tutoriel:sauvegardes_nomades_securisees [Le 19/02/2025, 18:10] (Version actuelle) bcag2 [Udev : Déclencher la sauvegarde à la connexion du disque usb] suppr notes qui n'apporte rien (pas de version ni contexte !)! |
||
---|---|---|---|
Ligne 115: | Ligne 115: | ||
<code bash> | <code bash> | ||
- | cryptsetup -v luksOpen --test-passphrase | + | cryptsetup -v luksOpen --test-passphrase /dev/<target device> |
</code> | </code> | ||
* Montage du mapper | * Montage du mapper | ||
Ligne 260: | Ligne 260: | ||
Pour répéter les tests il faudra probablement enlever (ou remplacer par ''%%000%%'') les fichiers ''%%daily%%'' du répertoire précédent. | Pour répéter les tests il faudra probablement enlever (ou remplacer par ''%%000%%'') les fichiers ''%%daily%%'' du répertoire précédent. | ||
- | ==== Forcer une sauvegarde ==== | + | ==== Forcer une sauvegarde par un nouveau script ==== |
Pour forcer la sauvegarde quotidienne, même si elle a déjà été faite plus tôt dans la journée … Créer (encore) un script : ''%%/usr/local/bin/force-cryptshop.sh%%'' et le remplir avec : | Pour forcer la sauvegarde quotidienne, même si elle a déjà été faite plus tôt dans la journée … Créer (encore) un script : ''%%/usr/local/bin/force-cryptshop.sh%%'' et le remplir avec : | ||
Ligne 275: | Ligne 275: | ||
</code> | </code> | ||
On pourra l’appeler en ligne de commande, en phase de tests, et pour sauvegarder les derniers travaux de la journée juste avant de quitter le lieu correspondant. | On pourra l’appeler en ligne de commande, en phase de tests, et pour sauvegarder les derniers travaux de la journée juste avant de quitter le lieu correspondant. | ||
+ | |||
==== Udev : Déclencher la sauvegarde à la connexion du disque usb ==== | ==== Udev : Déclencher la sauvegarde à la connexion du disque usb ==== | ||
Ligne 289: | Ligne 290: | ||
* Tester en connectant un des disques de sauvegarde | * Tester en connectant un des disques de sauvegarde | ||
- | Le fonctionnement peut être capricieux quand le disque est connecté au travers d'un hub thunderbolt. Connecter le disque directement sur un port USB de l'ordinateur. | + | Le fonctionnement peut être capricieux quand le disque est connecté au travers d'un hub thunderbolt. Connecter alors le disque directement sur un port USB de l'ordinateur. |
- | ===== Problème connus ===== | ||
- | Faire et automatiser des sauvegardes, c’est bien ; il faut aussi pouvoir les utiliser. Lorsque le disque USB est connecté, il apparait comme pouvant être moté dans l’espace utilisateur. Il faudra saisir le mot de passe pour l’ouvrir. Tout cela est bien, et nous permettra de consulter nos sauvegardes de n’importe quelle machine (non testé sous Windows ni MacOS); Sauf que …\\ | + | ==== Lancer la sauvegarde à la connexion et la déconnexion de l'utilisateur ==== |
+ | L'idée : quand on arrive ou repart d'un lieu de travail, on veut que les sauvegardes soient mises à jour. | ||
- | Cela fout le bordel sur la machine qui fait les sauvegardes. - Lorsque l’on ouvre le volume en tant qu’utilisateur (typiquement dans /media/user/monvolume) le script ''%%cryptshot%%'' s’arrête en erreur. Le développeur me dit que ce serait trop insécure de permettre simultanément les accès utilisateur et l’ouverture pour une sauvegarde en cours, elle attendra le prochain ''%%hourly%%''.\\ | + | Le moyen : placer des scripts adéquat à la connexion ou la déconnexion. Je l'ai fait dans l'interface de configuration de KDE, trouvez le moyen pour votre situation. |
- | Lorsque l’on “détache” le disque USB, il n’apparait plus comme détecté par le system (les fichiers correspondants sous /dev/disk/*/… ne sont plus présents), alors le script ne peut plus tourner les sauvegardes non plus. | + | |
- | ==== Solutions ==== | + | Une difficulté : ces scripts sont lancés en tant qu'utilisateur, les sauvegardes doivent être lancées en root. |
+ | se permettre de lancer sertains scripts en tant que root, sans mot de passe (puisque lancés automatiquement) : | ||
+ | <code> | ||
+ | sudo visudo /etc/sudoers.d/mecryptshot | ||
- | - Une solution est de déconnecter/reconnecter le disque USB. A défaut d’y penser, on pourrait se retrouver sans sauvegardes pendant quelques jour… | + | me ALL=(ALL) NOPASSWD: /usr/local/bin/mecryptshop-force.sh,/usr/local/bin/mecryptshop-lance> |
+ | </code> | ||
+ | ``` | ||
+ | Créer les scripts correspondants : | ||
- | - Faire un (autre) script /usr/local/bin/Back-domicile-mount-sh avec : | + | Éditer : /usr/local/bin/mecryptshop-force.sh |
+ | <code> | ||
+ | #!/bin/bash | ||
+ | sudo echo '000' > /usr/local/etc/cryptshot/lastrun/xadom.daily | ||
+ | sudo echo '000' > /usr/local/etc/cryptshot/lastrun/alta.daily | ||
+ | sudo /usr/local/bin/cryptshot-execute | ||
+ | |||
+ | exec >> "/var/log/cryptshot.log" | ||
+ | echo "C'était mecryptshot-force.sh" /t | ||
+ | </code> | ||
+ | |||
+ | |||
+ | Éditer : /usr/local/bin/mecryptshop-lance.sh | ||
<code> | <code> | ||
- | #!/bin/bash | + | #!/bin/bash |
- | mkdir /mnt/Monvolume | + | sudo /usr/local/bin/cryptshot-execute |
- | cryptsetup luksOpen --key-file /chemin/de/la/cle.whatever /dev/disk/by-partlabel/Monvolume crypt-Monvolume | + | |
- | mount --options noatime /dev/mapper/crypt-Monvolume /mnt/Monvolume | + | exec >> "/var/log/cryptshot.log" |
- | read -p " $volume est monté, visiter /mnt puis appuyez sur Enter pour tout refermer" | + | echo "C'était mecryptshot-lance.sh" /t |
- | umount /mnt/Monvolume | + | |
- | rmdir /mnt/monvolume | + | |
- | cryptsetup luksClose crypt-Monvolume | + | |
</code> | </code> | ||
- | Toujours lancer en root, par sudo. Cette ouverture et ce montage ne “détache” pas le disque, et le script reste fonctionnel. Le risque est d'oublier la fenêtre de la console avec la fermeture du montage non faite. | ||
- | - proposition par l’auteur du script dans les “issues” [[https://github.com/pigmonkey/cryptshot/issues/8|Continue the script when the volume is already luksOpened ? · Issue #8 · pigmonkey/cryptshot · GitHub]] - non testé | + | Ces scripts déclenchent les opérations comme confugurées dans les étapes précédentes. |
+ | ==== Consulter les sauvegardes ==== | ||
+ | Là ou je suis, avec KDE, le montage par les outils graphique pose des problèmes. Le démontage quand on ferme le volume n'est pas complet, et il y a une erreur ensuite quand le script essaye de luksopen le volume. | ||
+ | |||
+ | j'utilise encore des scripts ... | ||
+ | Sudo est souhaitable pour contrôler l'accès aux sauvegardes, sinon ajuster visudo en conséquence | ||
+ | On déchiffre le volume, et on le regarde avec mc (c'est mon choix). | ||
+ | Pour fouiller les sauvegardes plus facilement, tant que mc est ouvert dans la console, utiliser /mnt/<target device> comme chemim dans vos applications graphiques courantes. | ||
+ | A la fermeture de mc, le volume sera démonté, et les sauvegardes suivantes seront fonctionnelles. | ||
+ | |||
+ | /usr/local/bin/memount-mydomicile-sh | ||
<code> | <code> | ||
+ | #!/bin/bash | ||
+ | mkdir /mnt/<target device> | ||
+ | cryptsetup luksOpen --key-file <chemin/Keyfile> /dev/<target device> crypt-<target device> | ||
+ | mount --options noatime /dev/mapper/crypt-<target device> /mnt<target device> | ||
+ | |||
+ | mc /mnt/<target device> | ||
+ | umount /mnt/<target device> | ||
+ | # rmdir /mnt/<target device> | ||
+ | cryptsetup luksClose crypt-<target device> | ||
+ | </code> | ||
+ | |||
+ | |||
+ | |||
+ | ===== Problème connus ===== | ||
+ | |||
+ | J'ai eu quelques difficultés à assurer le démontage du volume crypté quand j'utilisais les outils graphiques de KDE pour le consulter. Le chapitre précédent fonctionne adéquatement, mais si vous rencontrez ce genre de problème, le développeur de cryptshot m'a proposé une autres apprche de cette nature. voir [[https://github.com/pigmonkey/cryptshot/issues/8|Continue the script when the volume is already luksOpened ? · Issue #8 · pigmonkey/cryptshot · GitHub]] | ||
+ | |||
+ | <code> | ||
if [ -d /mnt/backupdrive ]; then | if [ -d /mnt/backupdrive ]; then | ||
rsnapshot -c /path/to/rsnapshot.conf daily | rsnapshot -c /path/to/rsnapshot.conf daily | ||
Ligne 326: | Ligne 368: | ||
cryptshot.sh -c /path/to/cryptshot.conf -i daily | cryptshot.sh -c /path/to/cryptshot.conf -i daily | ||
fi | fi | ||
- | |||
</code> | </code> | ||
+ | A toutes fiins utiles - non testé | ||
Ligne 337: | Ligne 379: | ||
Merci aux auteurs et contributeurs [[:rsnapshot]], des scripts //cryptshot// et //backitup// [[https://github.com/pigmonkey|pigmonkey]] pour leur patience et leur soutien. Les autres scripts proposés ici ont largement été inspirés par [[https://github.com/pigmonkey/cryptshot/issues/8|ces échanges]]. | Merci aux auteurs et contributeurs [[:rsnapshot]], des scripts //cryptshot// et //backitup// [[https://github.com/pigmonkey|pigmonkey]] pour leur patience et leur soutien. Les autres scripts proposés ici ont largement été inspirés par [[https://github.com/pigmonkey/cryptshot/issues/8|ces échanges]]. | ||
+ | Cet aricle reste "en cours de rédaction" en attendant que quelqu'un témoigne de l'avoir utilisé sans y avoir trouvé d'erreur. Si vous y parvenez, pour pourriez enlever ou demande d'enlever l'alerte en haut d'article. | ||
===== Voir aussi ===== | ===== Voir aussi ===== | ||