scripte/benutzer_anlegen/create_user_list.sh

78 lines
2.2 KiB
Bash

#!/bin/bash
source ./data_utils.sh
# Abfrage des Verschlüsselungsschlüssels
get_encryption_key() {
while true; do
key=$(dialog --insecure --passwordbox "Bitte geben Sie den Verschlüsselungsschlüssel ein:" 10 50 3>&1 1>&2 2>&3)
exit_status=$?
if [[ $exit_status -ne 0 ]]; then
dialog --msgbox "Abbruch! Kein Schlüssel eingegeben." 10 50
exit 1
fi
# Zweite Abfrage zur Bestätigung
confirm_key=$(dialog --insecure --passwordbox "Bestätigen Sie den Verschlüsselungsschlüssel:" 10 50 3>&1 1>&2 2>&3)
exit_status=$?
if [[ $exit_status -ne 0 ]]; then
dialog --msgbox "Abbruch! Bestätigung nicht abgeschlossen." 10 50
exit 1
fi
# Schlüsselvergleich
if [[ "$key" == "$confirm_key" ]]; then
echo "$key"
return
else
dialog --msgbox "Die Schlüssel stimmen nicht überein. Bitte erneut versuchen." 10 50
fi
done
}
# Schlüssel global abfragen
ENCRYPTION_KEY=$(get_encryption_key)
# Hauptmenü
while true; do
choice=$(dialog --menu "Benutzer- und Gruppenverwaltung" 20 50 12 \
1 "Benutzer hinzufügen" \
2 "Benutzer löschen" \
3 "Benutzer zu Gruppe hinzufügen" \
4 "Benutzer aus Gruppe entfernen" \
5 "Benutzer anzeigen" \
6 "Gruppen anzeigen" \
7 "Gruppe hinzufügen" \
8 "Gruppe löschen" \
9 "Änderungen ins System schreiben" \
10 "Änderungen auf entfernten Server schreiben" \
11 "Beenden" 3>&1 1>&2 2>&3)
case $choice in
1)
./add_user.sh "$ENCRYPTION_KEY" ;;
2)
./delete_user.sh ;;
3)
./add_user_to_group.sh ;;
4)
./remove_user_from_group.sh ;;
5)
./list_users.sh ;;
6)
./list_groups.sh ;;
7)
./add_group.sh ;;
8)
./delete_group.sh ;;
9)
./apply_changes.sh "$ENCRYPTION_KEY" ;;
10)
./apply_changes_to_remote_server.sh "$ENCRYPTION_KEY" ;;
11)
break ;;
*)
dialog --msgbox "Ungültige Auswahl!" 10 30 ;;
esac
done