Optimisations et correction de bugs
Ajout d'un lien symbolique pour l'accès au script par les comptes internes du bastion. Correction d'un bug concernant les clés ssh qui utilisait la systématiquement la dernière clé SSH déclarée. Optimization du script de menu serveurs en retirant les utilisations répétées de whoami et en ajoutant une vérification de la séléction choisie qui prends désormais en compte l'abscence d'input utilisateur sans envoyer une erreur de script.
This commit is contained in:
parent
9770e0cca4
commit
8ccc9e6499
@ -1,11 +1,11 @@
|
||||
FROM alpine:3.20.0 AS monosphere-builder
|
||||
#~The open Monosphere Project~
|
||||
#Version : 0.5.4
|
||||
#Version : 0.5.5
|
||||
#Autor : Siphonight :)
|
||||
|
||||
|
||||
#Setting default settings, please change them at run
|
||||
ARG MONOSPHERE_VERSION="0.5.4 Alpha"
|
||||
ARG MONOSPHERE_VERSION="0.5.5 Alpha"
|
||||
|
||||
|
||||
#Defining build settings
|
||||
|
||||
@ -54,6 +54,8 @@ else
|
||||
elif [ "$is_bastion" -eq "0" ]; then
|
||||
echo "$user ALL=(ALL) NOPASSWD: /usr/local/bin/ttyplay*" | sudo EDITOR='tee -a' visudo
|
||||
echo "$user ALL=(ALL) NOPASSWD: /bin/ls*" | sudo EDITOR='tee -a' visudo
|
||||
mkdir /home/"$user"
|
||||
ln -s /opt/public/scripts/server_menu.sh /home/"$user"/server_menu.sh
|
||||
fi
|
||||
|
||||
if [ "$password" != "0" ]; then
|
||||
|
||||
@ -2,8 +2,8 @@
|
||||
|
||||
AUTHORIZED_SERVERS_PATH="opt/public/servers"
|
||||
AUTHORIZED_SERVERS_FILE="/$AUTHORIZED_SERVERS_PATH/authorized_servers.txt"
|
||||
USER_SERVERS=$(grep -w "$(whoami)" $AUTHORIZED_SERVERS_FILE)
|
||||
CONNECTED_USER="$(whoami)"
|
||||
USER_SERVERS=$(grep -w "$CONNECTED_USER" $AUTHORIZED_SERVERS_FILE)
|
||||
|
||||
if [ -z "$USER_SERVERS" ]; then
|
||||
echo "Vous n'avez pas l'autorisation de vous connecter à un serveur."
|
||||
@ -27,19 +27,19 @@ done <<< "$USER_SERVERS"
|
||||
|
||||
read -r -p "Votre choix (1-${#server_map[@]}): " choice
|
||||
|
||||
if [ -z "${server_map[$choice]}" ]; then
|
||||
if [ -z "$choice" ] || [ -z "${server_map[$choice]}" ]; then
|
||||
echo "Sélection invalide."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
selected_server="${server_map[$choice]}"
|
||||
echo "Connexion à $selected_server..."
|
||||
if [ -z "$server_authkey" ]; then
|
||||
if [ -z "$(echo "$selected_server" | cut -d ' ' -f 4)" ]; then
|
||||
ttyrec -z --"$(echo "$selected_server" | cut -d ' ' -f 1)"-"$(echo "$selected_server" | cut -d ' ' -f 3)"-- -k 300 --warn-before-kill 60 -- ssh -p "$(echo "$selected_server" | cut -d ' ' -f 2)" "$(echo "$selected_server" | cut -d ' ' -f 3)"@"$(echo "$selected_server" | cut -d ' ' -f 1)"
|
||||
else
|
||||
cp /"$AUTHORIZED_SERVERS_PATH"/"$(echo "$selected_server" | cut -d ' ' -f 4)" /home/"$(whoami)"/"$(echo "$selected_server" | cut -d ' ' -f 4)"
|
||||
chown "$(whoami)":"$(whoami)" /home/"$(whoami)"/"$(echo "$selected_server" | cut -d ' ' -f 4)"
|
||||
chmod 600 /home/"$(whoami)"/"$(echo "$selected_server" | cut -d ' ' -f 4)"
|
||||
ttyrec -z --"$(echo "$selected_server" | cut -d ' ' -f 1)"-"$(echo "$selected_server" | cut -d ' ' -f 3)"-- -k 300 --warn-before-kill 60 -- ssh -p "$(echo "$selected_server" | cut -d ' ' -f 2)" -i /home/"$(whoami)"/"$(echo "$selected_server" | cut -d ' ' -f 4)" "$(echo "$selected_server" | cut -d ' ' -f 3)"@"$(echo "$selected_server" | cut -d ' ' -f 1)"
|
||||
cp /"$AUTHORIZED_SERVERS_PATH"/"$(echo "$selected_server" | cut -d ' ' -f 4)" /home/"$CONNECTED_USER"/"$(echo "$selected_server" | cut -d ' ' -f 4)"
|
||||
chown "$CONNECTED_USER":"$CONNECTED_USER" /home/"$CONNECTED_USER"/"$(echo "$selected_server" | cut -d ' ' -f 4)"
|
||||
chmod 600 /home/"$CONNECTED_USER"/"$(echo "$selected_server" | cut -d ' ' -f 4)"
|
||||
ttyrec -z --"$(echo "$selected_server" | cut -d ' ' -f 1)"-"$(echo "$selected_server" | cut -d ' ' -f 3)"-- -k 300 --warn-before-kill 60 -- ssh -p "$(echo "$selected_server" | cut -d ' ' -f 2)" -i /home/"$CONNECTED_USER"/"$(echo "$selected_server" | cut -d ' ' -f 4)" "$(echo "$selected_server" | cut -d ' ' -f 3)"@"$(echo "$selected_server" | cut -d ' ' -f 1)"
|
||||
rm -rf /home/"${CONNECTED_USER:?}"/"$(echo "$selected_server" | cut -d ' ' -f 4)"
|
||||
fi
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user