Les roles Xen – script de post-installation de machine virtuelle
Cette article traitera de l’utilisation des rôles dans la création de machine virtuelle Xen, il fait suite à mes 2 précedents articles sur Xen traitant de l’installation puis de la création d’un domU.
Les roles Xen sont en quelque sorte des scripts de post-installation que xen-create-image utilisera pour finaliser l’installation de vos machines virtuelles.
Pour utiliser les rôles, rien de plus simple :
# xen-create-image --hostname=machine --ip 192.168.1.100 --role=default
L’ensemble des rôles sont stockés dans /etc/xen-tools/role.d/ et vous pouvez en ajouter autant que vous le souhaitez.
La création des rôles est assez simple, pour vous le prouver vous trouverez ci-dessous mon rôle default :
#!/bin/sh
prefix=$1# Import de fonction d’installation de paquets debian
if [ -e /usr/lib/xen-tools/common.sh ]; then
. /usr/lib/xen-tools/common.sh
else
echo “Installation problem”
fi# Installation des paquets qui me sont nécessaires par defaut
chroot ${prefix} /usr/bin/apt-get update
chroot ${prefix} /usr/bin/apt-get -y -f upgrade
installDebianPackage ${prefix} openssh-server
installDebianPackage ${prefix} bash-completion
installDebianPackage ${prefix} vim
installDebianPackage ${prefix} less
installDebianPackage ${prefix} ntp
installDebianPackage ${prefix} sudo# Création de monutilisateur
chroot ${prefix} useradd -d /home/monutilisateur -p “mon mot de passe crypter” -m -s /bin/bash -U monutilisateur# Configuration de ssh
cp /etc/xen-tools/skel/sshd_config ${prefix}/etc/ssh/
mkdir ${prefix}/home/monutilisateur/.ssh
cp /etc/xen-tools/skel/ssh/domU_keys ${prefix}/home/monutilisateur/.ssh/authorized_keys
chroot ${prefix} chmod -R 600 /home/monutilisateur/.ssh
chroot ${prefix} chmod 700 /home/monutilisateur/.ssh# Personnalisation de mon utilisateur
cp /etc/xen-tools/skel/.bashrc_user ${prefix}/home/monutilisateur/.bashrc
cp /etc/xen-tools/skel/.vimrc ${prefix}/home/monutilisateur/
chroot ${prefix} chown -R monutilisateur:monutilisateur /home/monutilisateur# Personnalisation de charlie root
cp /etc/xen-tools/skel/.bashrc_root ${prefix}/root/
cp /etc/xen-tools/skel/.vimrc ${prefix}/root/
chown -R root:root ${prefix}/root# Install and configuration de sudo en utilisant le role sudoers
. /etc/xen-tools/role.d/sudoers
chroot ${prefix} usermod -a -G sudo monutilisateur
Une fois ce rôle exécuté, je me retrouve avec une machine offrant un serveur SSH avec authentification par clef et mon environnement tout prêt pour de nouvelles aventures.