This commit is contained in:
Adrian Amaglio 2022-01-20 18:03:05 +01:00
parent e50e0f30ce
commit a79f5cf687
8 changed files with 49 additions and 18 deletions

View File

@ -19,7 +19,10 @@ ENV TZ=Europe/Paris
# SSH server
RUN mkdir /run/sshd
CMD ["/usr/sbin/sshd", "-E", "/dev/stderr", "-D"]
CMD ["netcat", "-lp", "5000", "-e", "/root/http/http_bash.sh"]
# Nginx conf
COPY ./default /etc/nginx/sites-enabled/default
# Entrypoint
COPY ./entrypoint.sh ./entrypoint.sh

22
default Normal file
View File

@ -0,0 +1,22 @@
server {
listen 80 default_server;
listen [::]:80 default_server;
root /root/exercices/html;
index index.html;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
autoindex on;
}
location ~ /.sh$ {
proxy_pass http://127.0.0.1:5000;
}
}

View File

@ -73,6 +73,13 @@ echo "-------------------------------------------------------------"
echo " Setting root password"
echo "root\nroot" | passwd 2>/dev/null >/dev/null
echo "-------------------------------------------------------------"
echo " Starting Nginx"
nginx -c '/etc/nginx/nginx.conf'
echo "-------------------------------------------------------------"
echo " Starting SSH server"
/usr/sbin/sshd -E /dev/stderr
echo "-------------------------------------------------------------"
echo " Running main process"

0
exercices/gen_arbo.sh Normal file → Executable file
View File

0
exercices/gen_enonces.sh Normal file → Executable file
View File

0
exercices/gen_seed.sh Normal file → Executable file
View File

0
exercices/init.sh Normal file → Executable file
View File

View File

@ -1,5 +1,5 @@
# Chasse au trésor en ssh
Un environnemnet SSH avec des exercices ludiques.
Un environnement SSH avec des exercices ludiques.
## Licence
GPLv3
@ -10,30 +10,29 @@ ou
Créer un fichier `config/passwords.txt` qui contient la liste des couples nom=password (un nom/mot de passe par ligne).
Les comptes seront créés au démarage du conteneur.
Les comptes seront créés au démarrage du conteneur.
## Présentation
Chaque élève a un dossier perso dans `/home` dans lequel il peut se connecter en SSH à laide de son mot de passe dans `config/passwords.txt`.
## Génération des données aléatoires pour les exercices
ATTENTION ! Cette génération ne doit pas se faire quand les élèves travaillent, leurs exercices seraient alors invalidés !
## Génération de lactivité
```
TODO
cd exercices
./init.sh
```
## Re-Génération des exercices
Pour créer les fichiers et les questions de chaque élèves on utilise la commande suivante.
Utile si lélève a sacagé son environnement de travail.
## Énoncés des exercices
Les exercices sont disponibles pour les élèves via un navigateur.
## Réparer les fichiers délève
Si un·e élève a saccagé ses fichiers, il est possible de les réparer en lançant la commande suivante.
$username est son nom dutilisateurice.
```
TODO
cd exercices
./init.sh $username
```
## Correction
Pour suivre la progression des élèves, on utilise le script suivant.
```
TODO
```
## Ajouter des élèves
## Ajouter des élèves en cours de route
Si lactivité est déjà lancée et que vous souhaitez ajouter des élèves, faites le IMPÉRATIVEMENT __en bas du fichier__ `config/users.txt` ou `config/passwords.txt`.
Sans quoi les comptes peuvent être recréés avec des UID différents au redémarrage du conteneur et les droits seront incohérents.
Vous pouvez ensuite générer à nouveau lactivité pour créer les dossiers des nouve·lles·aux élèves.