diff --git a/Dockerfile b/Dockerfile index 37ecaa5..872e2cc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ FROM alpine:3.20.0 AS monosphere-builder #Setting default settings, please change them at run -ARG MONOSPHERE_VERSION="1.0.1 Alpha" +ARG MONOSPHERE_VERSION="1.0.2 Alpha" #Defining build settings @@ -51,7 +51,7 @@ USER root #Preparations #Updating and installing required dependencies -RUN apk add openssh-server=9.7_p1-r4 openssh-client=9.7_p1-r4 sudo=1.9.15_p5-r0 openrc=0.54-r1 bash=5.2.26-r0 sshpass=1.10-r0 && \ +RUN apk add openssh-server=9.7_p1-r4 openssh-client=9.7_p1-r4 sudo=1.9.15_p5-r0 openrc=0.54-r1 bash=5.2.26-r0 sshpass=1.10-r0 gawk=5.3.0-r1 && \ apk --no-cache add shadow=4.15.1-r0 diff --git a/README.md b/README.md index e87b64e..23d4d31 100644 --- a/README.md +++ b/README.md @@ -60,7 +60,7 @@ Ci-dessous une liste non exhaustive des objectifs des prochaines mises à jour d - [x] Ajouter le support pour différents utilisateurs distants. Correction en cours pour les bugs ci dessous : -- Correction d'un bug autorisant systématiquement des utilisateurs du bastion à se connecter sur les serveurs distants si le compte d'accès à ce dernier porte le même nom que l'utilisateur du bastion. +Aucun bug n'a été détecté dans les configuration et scripts actuels du bastion, ou ces derniers ont bien été corrigés. ## Fonctionnement des versions Le bastion Monosphere étant en constante évolution, des changements fréquents sont à prévoirs sur ce projet. diff --git a/server_menu.sh b/server_menu.sh index a96f88c..5f76e77 100644 --- a/server_menu.sh +++ b/server_menu.sh @@ -3,7 +3,16 @@ AUTHORIZED_SERVERS_PATH="opt/public/servers" AUTHORIZED_SERVERS_FILE="/$AUTHORIZED_SERVERS_PATH/authorized_servers.txt" CONNECTED_USER="$(whoami)" -USER_SERVERS=$(grep -w "$CONNECTED_USER" $AUTHORIZED_SERVERS_FILE) + +USER_SERVERS=$(awk -v user="$CONNECTED_USER" ' +{ + split($5, users, ","); + for (i in users) { + if (users[i] == user) { + print $0; + } + } +}' "$AUTHORIZED_SERVERS_FILE") if [ -z "$USER_SERVERS" ]; then echo "Vous n'avez pas l'autorisation de vous connecter à un serveur."