Administration des Systèmes d'Exploitation

(Les supports de cours + projet sont inspirés du cours précédemment dispensé par Stéphane Rubini)

Objectif du projet

Le but du projet est de configurer les postes d’un réseau de machines afin de mettre en place une gestion centralisée des données et des comptes utilisateurs.

Un des postes du réseau tient le rôle de serveur :

Les utilisateurs peuvent se connecter indistinctement sur n’importe quel poste (poste serveur compris), et y retrouve leur environnement de travail. On considère que tous les postes sont identiques du point de vue matériel et système d’exploitation.

Configuration

Paramètres de configuration : Un fichier param contiendra les paramètres de configuration du système, définis sous la forme de variables shell. Un fichier machines contiendra la liste des noms de machines et leur adresse IP associée. Un dernier fichier files contiendra la liste des fichiers (définis par leur chemin absolu) qui sont modifiés par les scripts de configuration.

La configuration des postes sera réalisée par l'intermédiaire de script bash. On souhaite ainsi pouvoir automatiser l'installation des machines. Si un script est exécuté plusieurs fois, le résultat devra être le même que celui obtenu à l'issue de la première exécution.

Livrables
Un fichier .zip nommé [Nom1]_[Nom2]_ASE2022.zip contient :
  1. Télécharger le fichier pdf du CM1. Lire attentivement les slides de 17 à 40.
  2. Avec Oracle Virtual Box, créer une nouvelle machine virtuelle et attacher le disque dur virtuel ubuntu18_m1aseV3.vdi à la machine. Vous pouvez récupérer ce fichier : ATTENTION : il faut sauvegarder le fichier dans sur partition locale de votre PC (ne pas le sauvegarder dans votre dossier "Downloads/Téléchargement", ce dossier est sur le serveur vadorfs)
  3. Nom de la machine : server (plus tard, on importe une autre machine - client01).
  4. Nom de l'utilisateur : m1ase, mots de passe : m1ase.
  5. Ouvrir un terminal : (1) Shortcut Ctrl + Alt + T ou (2) clicker sur "Activities", rechercher le mot "terminal". Lorsque le terminal démarre, par défaut vous êtes dans le dossier : /home/m1ase.
  6. Créer un répertoire : ase20 avec la commande $ mkdir ase20. Vous utilisez ce dossier pour vos scripts !
  7. Pour simplifier le partage de fichiers, on crée un dossier partagé entre votre PC et la VM. Ce dossier sera utilisé uniquement pour partager des fichiers entre la VM et le PC.
  8. Consignes :

Afin de facilité l’écriture des scripts, on développe au préalable un ensemble de fonctions shells qui seront rassemblées dans le fichier functions.

Dans le dossier ase20, créer les fichiers suivants (clicker sur le nom de fichier pour voir le contenu):

function hello() {
  echo 'Hello World'
}

function hello_name() {
  echo $1
}

#!/bin/bash

. functions

hello
hello_name Toto

hello
bonjour
test
test
test
toto
titi

Tester les scripts.

Ensuite, vous devez implanter les fonctions suivantes. Pour chaque fonction, merci de bien lire les consignes données.