initial commit
This commit is contained in:
14
Readme.md
Normal file
14
Readme.md
Normal file
@@ -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é
|
||||||
|
|
||||||
49
tp_prog_shell_2.md
Normal file
49
tp_prog_shell_2.md
Normal file
@@ -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".
|
||||||
Reference in New Issue
Block a user