- 3.1 Machines Virtuelles
- 3.2 Outils utilisés
Cet outil d'administration centralisée permet de gérer des utilisateurs et des machines Linux à distance via un Script Bash.
Il est capable de :
- Gérer des utilisateurs à distance
- Administrer des postes clients
- Interroger le status d'une machine
- Automatiser des opérations ciblées
Ce projet consiste à mettre en place une infrastructure virtuelle client/serveur Linux et déveloper un script d'administration centralisée en Bash. Les machines sont sur le meme réseau.
2 VM sont hébergées sur VirtualBox en réseau interne (intnet).
| Nom | Role | OS | IP | Compte | Mot de passe |
|---|---|---|---|---|---|
| SRVLX01 | Serveur Principal | Debian | 172.16.50.10 | root/wilder | Azerty1* |
| CLILIN01 | Client | Ubuntu | 172.16.50.30 | wilder | Azerty1* |
| Outil | Usage |
|---|---|
| VirtualBox | Virtualisation des machines |
| Github | Gestion de versions et dépot |
| OpenSSH Server | Communication entre les machines |
| Nano | Editer fichiers avec Terminal |
| Bash | Language du script d'admisnistration |
- Configuration du réseau interne entre les VMs — les machines ne se voyaient pas au départ
- Configuration de l'IP fixe sur Ubuntu via Netplan
-
Ordre des fonctions - Bash une fonction doit etre définie avant d'etre apppelé. Les menus étaient placés avant les focntions ce qui causait des erreurs
-
Variables mal écrites - le
$manquait devantCIBLE_IPdans certaines fonctions SSH ce qui empechait de joindre la machine -
Tabulations invisibles - des caractères
^Is'étaient glissés dans le script et causaient des erreurs de syntaxe -
Droit sudo - les commandes
shutdown,reboot,useraddetdelusernécessitaient une configuration spéciale pour fonctionner sans mot de passe via SSH -
Création d'utilisateurs -
adduserne fonctionnait pas via SSH car il attend une interaction utilisateur
- Passage en mode Réseau interne (
intnet) dans VirtualBox pour que les VMs se voient entre elles - Configuration de l'IP fixe via le fichier
/etc/netplan/00-installer-config.yamlsur Ubuntu
-
Réorganisations du script - toutes les fonctions définies en haut, code principal en bas
-
Correction de toutes les variables avec
$CIBLE_IPet$CIBLE_USER -
Suppression des tabulations invisibles avec la commande
sed -i 's/\t//g' -
Ajout des commandes dans le fichier sudoers de CLILIN01 via
visudopour autoriserwildersans mot de passe -
Remplacement de
adduserparuseradd -m -s /bin/bashcombiné avecchpasswdpour créer les utilisateurs sans interaction- Ajouter la gestion de plusieurs machines cibles en même temps
-
Ajouter un système de logs pour tracer toutes les actions effectuées
-
Ajouter une vérification que l'utilisateur existe avant de le supprimer
-
Améliorer la gestion des erreurs avec des messages plus explicites
-
Ajouter la possibilité de choisir le mot de passe lors de la création d'un utilisateur