From d9e59753cde524b7b0ea73db47b707c100d7a632 Mon Sep 17 00:00:00 2001 From: Siphonight Date: Fri, 6 Dec 2024 07:57:06 +0100 Subject: [PATCH] =?UTF-8?q?Correction=20du=20bug=20sur=20les=20configurati?= =?UTF-8?q?ons=20des=20acc=C3=A8s=20aux=20serveurs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Correction du bug ayant pour cause l'utilisation de grep en tant que selecteur des serveurs autorisés. En remplaçant grep par awk, il est désormais possible d'utiliser des utilisateurs ditants ayant le même identifiant que les utilisateurs du bastion sans créer de collision au niveau des droits d'accès. --- Dockerfile | 4 ++-- README.md | 2 +- server_menu.sh | 11 ++++++++++- 3 files changed, 13 insertions(+), 4 deletions(-) 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."