
Voici une description de l’installation et de la configuration d’un serveur partimaged chrooté (mis en cage … roar)
Partimage est un logiciel permettant de faire des sauvegardes d’image dont une option permet de les faire sur un serveur distant accessible via un réseau.
C’est donc cette configuration spécifique du serveur que l’on va voir.
1 – Introduction
J’ai du installer un serveur partimage sur une debian lenny.
La version de partimage est la 0.6.9
J’avais le choix, soit utiliser la version de package debian (0.6.8) et je devais alors me faire un CD avec la version client équivalente, ou alors compiler le serveur et utiliser le CD systemrescueCD dont on trouve le lien sur le site web de partimage, j’ai choisit cette dernière option.
Après, vous pouvez vous poser la question : mais pourquoi le lancer dans un environnement chrooté ?
C’est assez simple, partimage doit accéder en lecture au fichier /etc/shadow qui contient tous les mots de passe des utilisateurs du système … l’utilisation d’un cage permet de limiter les entrées présentes dans ce fichier au strict nécessaire.
2 – Installation
Je pense que vous savez tous télécharger une archive sur le serveur de partimage : http://www.partimage.org/Page_Principale
Par conséquent, je passe directement à la suite.
# tar -xjf partimage-0.6.9.tar.bz2 # cd partimage-0.6.9 # ./configure --with-log-dir=/var/log/partimaged --prefix=/ --exec-prefix=/usr --enable-pam # make # make install # make certificates
Bien sur, si une commande échoue cela sert à rien de faire la suivante.
Concernant la commande configure, il se peut que ca se termine en erreur vous indiquant, pour l’exemple, qu’il manque la librairie {{libbz2}}.
Pour régler ce problème il faut rechercher le paquet correspondant sur votre distribution :
# apt-cache search libbz2 [...] libbz2-1.0 - high-quality block-sorting file compressor library - runtime libbz2-dev - high-quality block-sorting file compressor library - development # apt-get install libbz2-dev
Pour la compilation, il faut installer la libraire « -dev », qui contient les fichiers « headers » des librairies (c’est un peu comme le plan d’une ville, si vous avez une adresse précise sans un plan, vous êtes paumés)
PS: pour les redhat, utilisez la commande yum :
- yum search libbz2 pour la recherche du nom de paquet
- yum install mon_paquet pour l’installation
Ces commandes sont fournies de mémoire, par conséquent, elles ne sont pas forcément exactes :p
3 – Configuration
a – Ajout de l’utilisateur partimage
On ajoute l’utilisateur que l’on utilisera de manière assez transparente :
# adduser --home /var/lib/partimag --shell /bin/false --disabled-password --disabled-login partimag
b – Création du répertoire de logs
# mkdir /var/log/partimaged # chown partimag.adm /var/log/partimaged # chmod 750 /var/log/partimaged
c – Changement des droits du dossier /etc/partimaged
# chown -R partimag /etc/partimaged
d – Ajout des utilisateurs d’authentification
Il n’est pas nécessaire de leur donner le moindre droit :
# adduser --shell /bin/false --no-create-home userpim1 # adduser --shell /bin/false --no-create-home userpim2 ...
Il suffit ensuite des les ajouter au fichier /etc/partimaged/partimagedusers:
userpim1 userpim2
4 – Préparation chroot
a – Dépendances
# apt-get install makejail # mkdir -p /var/chroot/pim
Pour créer mon environnement chrooté, j’utilise makejail qui a quelques défauts mais qui est bien pratique.
Je n’ai pas la moindre idée si il existe l’équivalent en paquet redhat.
b – Configuration de makejail : pim.py
chroot="/var/chroot/pim" forceCopy=["/etc/partimaged/*","/var/log/partimaged","/var/lib/partimag", "/etc/pam.conf","/etc/security/*","/etc/pam.d/*","/etc/nsswitch.conf","/lib/security/*", "/etc/shadow","/etc/passwd","/etc/group","/lib/libnss*","/lib/ld-*", "/dev/tty","/dev/*random","/dev/null"] preserve=["/dev/","/home"] userFiles=["/etc/passwd","/etc/shadow"] groupFiles=["/etc/group","/etc/gshadow"] users=["partimag","userpim1","userpim2"] groups=["partimag"]
Puis je le lance :
# makejail pim.py
La cage est crée sous {{/var/chroot/pim}}
c – Derniers réglages {{after_makejail.sh}}
Pour parer aux défauts de la version de makejail que j’utilise, j’exécute ce script une fois la cage crée :
#!/bin/bash DIR="/var/chroot/pim" chown partimag ${DIR} chown -R partimag ${DIR}/etc/partimaged chown -R partimag ${DIR}/var/log/partimaged chown -R partimag ${DIR}/var/lib/partimag chgroup shadow ${DIR}/etc/shadow echo "$(egrep "^shadow:" /etc/group):partimag" >> ${DIR}/etc/group
5 – Lancement
# partimaged --chroot /var/chroot/pim
Dans ce cas la l’option {{-d /mon/chemin}} n’a pas l’air de fonctionner, les fichiers images sont donc crées à la racine de l’environnement chrooté.
Il est donc nécessaire de {{bien vérifier que l’utilisateur partimag a bien accès en écriture à la racine de la cage chroot}}.
Les logs seront présent dans le répertoire /var/log/partimaged à l’intérieur de la cage.
Une fois tout migré dans la cage, vous pouvez supprimer les utilisateurs userpim1, userpim2, … de votre système.
Article lu 2537 fois
Sympa ce petit article !!
Merci
Je n’ai pas détaillé la partie client qui est bien plus guidée par une interface graphique