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.
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.