Retour : Page Principale > Politique de sécurité
Les ordinateurs portables ne sont pas connectés au réseau à heure fixe, et sont de toute façon rarement connectés au réseau local Belfort avec la bonne IP. On utilise donc des sauvegardes "push", comme pour les serveurs : c'est l'ordi portable qui appelle Adansonia pour se sauvegarder, où qu'il soit.
Ils se divisent en deux catégories :
Si ce n'est pas le cas, les créer :
(laisser la passphrase vide)
Sur Adansonia :
Vérifier dans ~/.ssh/ si un fichier authorized_keys existe.
Modifier le propriétaire de ce dossier :
Sur l'ordi portable, utiliser le script suivant en l'enregistrant dans un fichier dans le dossier personnel de l'utilisateur, par exemple sauvegarde.sh.
Puis modifier les variables de configuration en entête
et le fichier d'exclusions suivant, à enregistrer au même endroit que le script de sauvegarde, dans un fichier nommé exclusions.txt :
Le dossier /home/utilisateur de l'ordi portable sera sauvegardé sur Adansonia dans /home/ordi_nomdelordiportable/home/utilisateur
Modifier les permissions de home pour que différents utilisateurs puissent écrire dedans :
Note : trouver une manière plus sécuritaire de permettre aux utilisateurs d'écrire dans home (avec des groupes par exemple).
Sur l'ordi portable, utiliser le script suivant en l'enregistrant dans un fichier dans le dossier personnel de l'utilisateur, par exemple sauvegarde.sh.
Puis modifier les variable de configuration en entête
et le fichier d'exclusions suivant, à enregistrer au même endroit que le script de sauvegarde, dans un fichier nommé exclusions.txt :
Cette documentation propose d'installer Cygwin et d'appliquer les mêmes méthodes que ci-dessus.
http://www.it-connect.fr/synchronisation-rsync-entre-windows-et-linux/
Ça fonctionne mais attention, la démarche de cette doc est un peu différente en termes de dossiers source et destination.
Marche à suivre :
Notes :
Script de sauvegarde :
Attention, les chemins sont valables pour Windows 10 en Français, vérifier et adapter si besoin avant d'utiliser.
Fichier d'exclusions :
Attention, les chemins sont valables pour Windows 10 en Français, vérifier et adapter si besoin avant d'utiliser.
Script de sauvegarde :
Attention, les chemins sont valables pour Windows 10 en Français, vérifier et adapter si besoin avant d'utiliser.
Fichier d'exclusions :
Attention, les chemins sont valables pour Windows 10 en Français, vérifier et adapter si besoin avant d'utiliser.
Note: le script se lancera une fois le choix du programme fait, c'est chiant; on peut toujours l'arrêter avec Ctrl+C si on ne voulait pas le lancer maintenant.
Voir ici pour utiliser dos2unix : http://stackoverflow.com/a/18772599/5986614
Sinon utiliser Notepad ++.
Sauvegarde des ordinateurs portables
Les ordinateurs portables ne sont pas connectés au réseau à heure fixe, et sont de toute façon rarement connectés au réseau local Belfort avec la bonne IP. On utilise donc des sauvegardes "push", comme pour les serveurs : c'est l'ordi portable qui appelle Adansonia pour se sauvegarder, où qu'il soit.
Ils se divisent en deux catégories :
- ceux qui sont associés à un⋅e seul⋅e utilisateur⋅trice, avec deux sous-catégories :
- les ordinateurs sous Linux pour lesquels c'est facile
- les ordinateurs sous Windows pour lesquels c'est moins facile (voir chapitre 3)
- les autres, qui sont partagés par plusieurs utilisateurs
1. Ordinateurs portables mono-utilisateur⋅trice
Le dossier /home/utilisateur de l'ordi portable sera sauvegardé sur Adansonia dans /home/utilisateur1.1. Accès au serveur et paire de clefs
L'utilisateur dont on veut sauvegarder les documents doit pouvoir se connecter à Adansonia en mode non-interactif. Pour cela il faut une paire de clefs RSA.1.1.1. Vérifier si l'utilisateur a une paire de clefs, sinon la créer
Sur l'ordi portable, regarder dans ~/.ssh/ si on a une paire de clefs id_rsa et id_rsa.pub.Si ce n'est pas le cas, les créer :
ssh-keygen -t rsa
(laisser la passphrase vide)
1.1.2. Copier la clef publique sur Adansonia
Copier le fichier id_rsa.pub sur Adansonia, dans le compte de l'utilisateur correspondant.Sur Adansonia :
su - nomdutilisateur
Vérifier dans ~/.ssh/ si un fichier authorized_keys existe.
- si oui, copier le contenu du fichier id_rsa.pub provenant du portable dans une nouvelle ligne à la fin du fichier authorized_keys
- si non, renommer le fichier id_rsa.pub provenant du portable en ~/.ssh/authorized_keys
1.1.3. Vérifier le SSH non-interactif
Sur l'ordi portable, la commande suivante devrait maintenant fonctionner sans demander de mot de passe :ssh nomdutilisateur@tela-botanica.no-ip.org
1.1.4. Dossier de destination
Sur Adansonia, en root, créer le dossier de destination de l'utilisateur :mkdir -p /home/nomdutilisateur # (ex: mkdir /home/jennifer)
Modifier le propriétaire de ce dossier :
chown nomdutilisateur:nomdutilisateur /home/nomdutilisateur
1.2. Script de sauvegarde et fichier d'exclusions
Sur l'ordi portable, utiliser le script suivant en l'enregistrant dans un fichier dans le dossier personnel de l'utilisateur, par exemple sauvegarde.sh.
Puis modifier les variables de configuration en entête
#!/bin/bash # configuration à changer pour chaque utilisateur UTILISATEUR="mathias" # trucs en dur EXCLUSIONS="exclusions.txt" SERVEUR="tela-botanica.no-ip.org" LOG="./sauvegarde.log" # variables élaborées DOSSIER_SOURCE="/home/$UTILISATEUR" DOSSIER_DESTINATION="/home/$UTILISATEUR" SCP_DEST="$UTILISATEUR@$SERVEUR:$DOSSIER_DESTINATION" # commande de sauvegarde CMD="rsync --stats --exclude-from=$EXCLUSIONS -v -e ssh -R -a --delete $DOSSIER_SOURCE $SCP_DEST >> $LOG" # go ! eval $CMD
et le fichier d'exclusions suivant, à enregistrer au même endroit que le script de sauvegarde, dans un fichier nommé exclusions.txt :
# Dossier contenant les fichiers à exclure choisis par l'utilisateur Stockage/ stockage/ Dropbox/ dropbox/ Musique/ musique/ Vidéo/ Video/ vidéo/ video/ VirtualBox VMs/ VirtualBox/ # Autres dossiers et fichiers tmp/ cache/ Cache/ cache logs/ Trash/ # Piège : l'explorateur réseau de Gnome monte les partages distants dans .gvfs (y a de quoi se fâcher) .gvfs .googleearth .thumbnails
1.3. Automatisation
Plutôt que (ou en sus) de lancer le script de sauvegarde manuellement, on peut créer une règle CRON qui appelle la sauvegarde tous les jours, ça ne coûte pas cher : si l'ordi est connecté au réseau tant mieux, sinon tant pis. Et si la connexion est interrompue inopinément, normalement rsync fait son boulot et continuera la fois suivante.2. Ordinateurs portables partagés
(de nombreux points sont similaires au chapitre précédent, mais il y a tout de même des différences)Le dossier /home/utilisateur de l'ordi portable sera sauvegardé sur Adansonia dans /home/ordi_nomdelordiportable/home/utilisateur
2.1. Accès au serveur et paire de clefs
Appliquer les points 1.1.1, 1.1.2 et 1.1.3.2.1.4. Dossier de destination
Sur Adansonia, en root, créer le dossier de destination de la machine et le sous-dossier home :mkdir -p /home/ordi_nomdelamachine/home # (ex: mkdir /home/ordi_legrovo/home)
Modifier les permissions de home pour que différents utilisateurs puissent écrire dedans :
chmod 777 /home/ordi_nomdelamachine/home
Note : trouver une manière plus sécuritaire de permettre aux utilisateurs d'écrire dans home (avec des groupes par exemple).
Script de sauvegarde et fichier d'exclusions
Sur l'ordi portable, utiliser le script suivant en l'enregistrant dans un fichier dans le dossier personnel de l'utilisateur, par exemple sauvegarde.sh.
Puis modifier les variable de configuration en entête
#!/bin/bash # configuration à changer pour chaque ordinateur / utilisateur MACHINE="pierre" UTILISATEUR="mathias" # trucs en dur EXCLUSIONS="exclusions.txt" SERVEUR="tela-botanica.no-ip.org" LOG="./sauvegarde.log" # variables élaborées DOSSIER_SOURCE="/home/$UTILISATEUR" # rsync rajoute "/home/$UTILISATEUR" après le chemin, puisque c'est ce dossier qu'on sauvegarde DOSSIER_DESTINATION="/home/ordi_$MACHINE" SCP_DEST="$UTILISATEUR@$SERVEUR:$DOSSIER_DESTINATION" # commande de sauvegarde CMD="rsync --stats --exclude-from=$EXCLUSIONS -v -e ssh -R -a --delete $DOSSIER_SOURCE $SCP_DEST >> $LOG" # go ! eval $CMD
et le fichier d'exclusions suivant, à enregistrer au même endroit que le script de sauvegarde, dans un fichier nommé exclusions.txt :
# Dossier contenant les fichiers à exclure choisis par l'utilisateur Stockage/ stockage/ Dropbox/ dropbox/ Musique/ musique/ Vidéo/ Video/ vidéo/ video/ VirtualBox VMs/ VirtualBox/ # Autres dossiers et fichiers tmp/ cache/ Cache/ cache logs/ Trash/ # Piège : l'explorateur réseau de Gnome monte les partages distants dans .gvfs (y a de quoi se fâcher) .gvfs .googleearth .thumbnails # Chaque utilisateur d'ordi portable partagé est censé avoir un ordi principal autre, qui sauvegarde ses emails .thunderbird
Automatisation
Voir 1.33. Ordinateurs sous Windows
Le principe est le même, mais Windows ne dispose pas de Rsync ni de SSH, ni d'openssl, ni de quoi que ce soit d'utile ^^Cette documentation propose d'installer Cygwin et d'appliquer les mêmes méthodes que ci-dessus.
http://www.it-connect.fr/synchronisation-rsync-entre-windows-et-linux/
Ça fonctionne mais attention, la démarche de cette doc est un peu différente en termes de dossiers source et destination.
Marche à suivre :
- installer Cygwin en suivant les instructions du lien ci-dessus, sélectionner les paquets "openssh", "bash" et "rsync" (ça peut prendre trois plombes)
- executer mkgroup, changer les permissions et créer la paire de clefs, toujours comme indiqué dans la doc
- envoyer la clef publique sur Adansonia, avec scp par exemple
- créer un script de sauvegarde sauvegarde.sh et un fichier d'exclusions exclusions.txt, avec les contenus ci-dessous
- l'exécuter à la demande en ouvrant le BASH Cygwin (icône sur le bureau ou dans le menu des programmes) et en lançant "./sauvegarde.sh"
Notes :
- voir comment ajouter l'exécution du script aux tâches planifiées de Windows
3.1. Pour un ordi portable mono-utilisateur⋅trice
Script de sauvegarde :
Attention, les chemins sont valables pour Windows 10 en Français, vérifier et adapter si besoin avant d'utiliser.
$ cat sauvegarde.sh #!/bin/bash # configuration à changer pour chaque ordinateur / utilisateur UTILISATEUR="mathias" # trucs en dur EXCLUSIONS="exclusions.txt" SERVEUR="tela-botanica.no-ip.org" LOG="./sauvegarde.log" # variables élaborées DOSSIER_SOURCE="/cygdrive/c/Users/$UTILISATEUR/" DOSSIER_DESTINATION="/home/$UTILISATEUR" SCP_DEST="$UTILISATEUR@$SERVEUR:$DOSSIER_DESTINATION" # commande de sauvegarde CMD="rsync --stats --chmod=ug=rwX,o=rxX --exclude-from=$EXCLUSIONS -v -e ssh -R -a --delete $DOSSIER_SOURCE $SCP_DEST >> $LOG" # go ! eval $CMD
Fichier d'exclusions :
Attention, les chemins sont valables pour Windows 10 en Français, vérifier et adapter si besoin avant d'utiliser.
# Dossier contenant les fichiers à exclure choisis par l'utilisateur Stockage/ stockage/ Dropbox/ dropbox/ Music/ Videos/ VirtualBox VMs/ VirtualBox/ # Dossiers inutiles de Windows (liens symboliques, etc.) À màj en fonction des versions Cookies Menu Démarrer Mes documents Modèles Recent SendTo Voisinage d'impression Voisinage réseau NTUSER.DAT*
3.2. Pour un ordi portable partagé
Script de sauvegarde :
Attention, les chemins sont valables pour Windows 10 en Français, vérifier et adapter si besoin avant d'utiliser.
$ cat sauvegarde.sh #!/bin/bash # configuration à changer pour chaque ordinateur / utilisateur MACHINE="vbox" UTILISATEUR="mathias" # trucs en dur EXCLUSIONS="exclusions.txt" SERVEUR="tela-botanica.no-ip.org" LOG="./sauvegarde.log" # variables élaborées # Le / final est censé éviter de recréer l'arborescence source dans la destination, mais ça marche pas :-/ DOSSIER_SOURCE="/cygdrive/c/Users/$UTILISATEUR/" DOSSIER_DESTINATION="/home/ordi_$MACHINE/home/$UTILISATEUR/" SCP_DEST="$UTILISATEUR@$SERVEUR:$DOSSIER_DESTINATION" # commande de sauvegarde CMD="rsync --stats --chmod=ug=rwX,o=rxX --exclude-from=$EXCLUSIONS -v -e ssh -R -a --delete $DOSSIER_SOURCE $SCP_DEST >> $LOG" # go ! eval $CMD
Fichier d'exclusions :
Attention, les chemins sont valables pour Windows 10 en Français, vérifier et adapter si besoin avant d'utiliser.
# Dossier contenant les fichiers à exclure choisis par l'utilisateur Stockage/ stockage/ Dropbox/ dropbox/ Music/ Videos/ VirtualBox VMs/ VirtualBox/ # Dossiers inutiles de Windows (liens symboliques, etc.) À màj en fonction des versions Cookies Menu Démarrer Mes documents Modèles Recent SendTo Voisinage d'impression Voisinage réseau NTUSER.DAT* # Chaque utilisateur d'ordi portable partagé est censé avoir un ordi principal autre, qui sauvegarde ses emails AppData/Roaming/Thunderbird
Créer un lanceur
Pour lancer la sauvegarde sans avoir à ouvir le terminal Cygwin et taper le nom du script, faire un clic droit sur le script sauvegarde.sh et choisir "ouvrir avec". Puis aller chercher le programme adéquat dans C:\cygwin64\bin\bash. Il suffit maintenant de double-cliquer sur le script pour lancer la sauvegarde.Note: le script se lancera une fois le choix du programme fait, c'est chiant; on peut toujours l'arrêter avec Ctrl+C si on ne voulait pas le lancer maintenant.
Problèmes récurrents avec la version Windows / Cygwin
CRLF
Si on utilise le bloc notes Windows pour créer le fichier sauvegarde.sh en copiant-collant l'exemple fourni dans cette doc, ça ne marchera pas car bloc notes finit toutes ses lignes par CRLF (\r\n) et Cygwin n'aime pas ça.Voir ici pour utiliser dos2unix : http://stackoverflow.com/a/18772599/5986614
Sinon utiliser Notepad ++.