Ajout de la modification des fichiers d'authentification.

This commit is contained in:
Siphonight 2025-01-21 14:41:34 +01:00
parent 284ca84128
commit 680c21db76
3 changed files with 19 additions and 4 deletions

View File

@ -4,7 +4,7 @@ FROM alpine:3.20.0 AS monosphere-builder
#Setting default settings, please change them at run #Setting default settings, please change them at run
ARG MONOSPHERE_VERSION="2.1.6 Alpha" ARG MONOSPHERE_VERSION="2.2.6 Alpha"
#Defining build settings #Defining build settings

View File

@ -65,7 +65,22 @@ function servers_access_control() {
case "${choice}" in case "${choice}" in
"1") "1")
echo -e "Option non implémentée pour le moment.\nElle sera ajoutée lors d'une prochaine mise à jour." Authorization_Files_List=$(find /opt/public/servers/. -type f ! -name 'authorized_servers.txt' | cut -d "/" -f 6)
echo -e "Le ficher d'authentification qui sera crée ou modifié sera placé dans le répertoire \"/opt/public/servers/\" du bastion.\nle nom de ce dernier ne doit pas comporter de \"/\", être vide ou être égal à \"authorized_servers.txt\"."
echo -e "Ci dessous la liste des fichiers d'authentification existants :\n${Authorization_Files_List}"
read -r -p 'Entrez le nom du fichier: ' File_Name
if [[ $(echo "${File_Name}" | grep -o "/") == "/" ]] || [[ $(echo "${File_Name}" | grep -o "*") == "*" ]] || [[ -z ${File_Name} ]] || [[ ${File_Name} == "authorized_servers.txt" ]]; then
echo 'Le nom du fichier ne doit pas contenir les caractères "/" ou "*", être vide ou ce nommer "authorized_servers.txt". Veuillez modifier ce dernier.'
else
echo "Assurez vous que le fichier créé ou modifié comporte bien uniquement la clé privée ou le mot de passe nécessaire à la connexion."
sleep 5s
sudo nano /opt/public/servers/"${File_Name}"
if [[ $(cat "/opt/public/servers/${File_Name}") == "" ]]; then
echo "Le fichier modifié \"${File_Name}\" est vide. Ce dernier sera supprimé."
rm -rf /opt/public/servers/"${File_Name}"
fi
fi
;; ;;
"2") "2")
@ -157,7 +172,7 @@ function main_menu() {
# #
"adminscontrol_admins") "adminscontrol_admins")
admin_rights_control admin_rights_control
;; ;;
# #
# "cluster_admins") # "cluster_admins")

View File

@ -65,7 +65,7 @@ for userinfo in ${userfile}; do
if ! grep -qo "^${user} ALL=(ALL) NOPASSWD:" /etc/sudoers; then if ! grep -qo "^${user} ALL=(ALL) NOPASSWD:" /etc/sudoers; then
echo "${user} ALL=(ALL) NOPASSWD: /usr/local/bin/ttyplay*" | sudo EDITOR='tee -a' visudo 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 echo "${user} ALL=(ALL) NOPASSWD: /bin/ls*" | sudo EDITOR='tee -a' visudo
echo "${user} ALL=(ALL) NOPASSWD: /usr/bin/nano /opt/public/servers/authorized_servers.txt" | sudo EDITOR='tee -a' visudo echo "${user} ALL=(ALL) NOPASSWD: /usr/bin/nano /opt/public/servers/*" | sudo EDITOR='tee -a' visudo
echo "${user} ALL=(ALL) NOPASSWD: /usr/bin/nano /opt/public/rights/admin_rights.txt" | sudo EDITOR='tee -a' visudo echo "${user} ALL=(ALL) NOPASSWD: /usr/bin/nano /opt/public/rights/admin_rights.txt" | sudo EDITOR='tee -a' visudo
fi fi
mkdir /home/"${user}" mkdir /home/"${user}"