From 620825ea23d308b4b5f992d96e85bcb319ff60be Mon Sep 17 00:00:00 2001 From: Thomas Constans Date: Mon, 25 Jan 2021 12:01:11 +0100 Subject: [PATCH] initial commit --- Readme.md | 14 +++++++++++++ tp_prog_shell_2.md | 49 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 Readme.md create mode 100644 tp_prog_shell_2.md diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..0e262d8 --- /dev/null +++ b/Readme.md @@ -0,0 +1,14 @@ +##### Programmation Shell + +Cible: b3 admin linux + +Durée: 4h en autonomie + + +Prérequis: + +Support: prog shell + + +À rendre: le script réalisé + diff --git a/tp_prog_shell_2.md b/tp_prog_shell_2.md new file mode 100644 index 0000000..ec4d65f --- /dev/null +++ b/tp_prog_shell_2.md @@ -0,0 +1,49 @@ +##### Programmation Shell + +Objectif: Mettre en place un mécanisme permettant de limiter les actions que peut faire un utilisateur sur un système + +Durée: 4h en autonomie + + +Mettez en place les mécanismes suivants: + + * un utilisateur "operateur" ayant le droit de se connecter en ssh sur le système, par clé publique / clé privée (avec votre clé, et la mienne: https://infra.opendoor.fr/id_rsa.pub) + * une fois qu'il s'est connecté, il n'a pas d'accès shell, mais un menu s'affiche, présentant la liste des actions possibles: + * lister les utilisateurs existants + * changer le mot de passe de l'utilisateur + * afficher l'état du service httpd + * redémarrer le service httpd + +```bash +# ssh test@cours.opendoor.fr -p XXXX +Hello, What do you want to do ? + 1 - restart apache + 2 - show apache status + 3 - list user + 4 - change user password + ... + 0 - exit + + Enter selection: + + +``` + +l'utilisateur devra être autorisé à exécuter ces commandes (en terme de droits) + +La configuration sudo sera dans /etc/sudoers.d/operateur + +Le script sera écrit dans /usr/local/bin/menuaction.sh + +Ce script devra *logguer* chaque action effectuée avec la date et l'heure dans le fichier /var/log/operateur.log + +Ce fichier de log sera archivé quotidiennement, sa période de rétention sera de 1 an. (fichier /etc/logrotate.d/opreateur.log) + +Ex de fichier de log: + +```bash +Jan 25 11:16:41 epsii1g11 epsi[26321]: get apache status +Jan 25 11:16:55 epsii1g11 epsi[26323]: restart apache +``` + +Bonus si vous utilisez la lib "whiptail".