78 lines
2.2 KiB
Bash
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
|