31 lines
1.1 KiB
Bash
31 lines
1.1 KiB
Bash
#!/bin/bash
|
|
|
|
source ./data_utils.sh
|
|
|
|
# Gruppenliste erstellen (nur aktive Gruppen, außer fileserver)
|
|
group_list=$(awk -F: '/^\[groups\]/ {flag=1; next} /^\[users\]/ {flag=0} flag && $3 == "aktiv" && $1 != "fileserver" {print $1}' encrypted_users.list)
|
|
|
|
if [[ -z "$group_list" ]]; then
|
|
dialog --msgbox "Keine Gruppen verfügbar, die gelöscht werden können." 10 40
|
|
exit 1
|
|
fi
|
|
|
|
# Konvertieren der Gruppenliste für die Übergabe an dialog
|
|
dialog_group_list=""
|
|
while read -r group; do
|
|
dialog_group_list="$dialog_group_list $group ''"
|
|
done <<< "$group_list"
|
|
|
|
# Gruppe auswählen
|
|
group_name=$(dialog --menu "Wählen Sie die Gruppe, die gelöscht werden soll:" 15 50 8 $dialog_group_list 3>&1 1>&2 2>&3)
|
|
|
|
if [[ -z "$group_name" ]]; then
|
|
dialog --msgbox "Abbruch. Keine Gruppe ausgewählt." 10 40
|
|
exit 1
|
|
fi
|
|
|
|
# Gruppe als gelöscht markieren
|
|
sed -i "/^\[groups\]/,/^\[users\]/s/^$group_name:[^:]*:[^:]*$/$group_name:geloescht/" encrypted_users.list
|
|
dialog --msgbox "Die Gruppe '$group_name' wurde markiert und wird beim nächsten Synchronisieren gelöscht." 10 40
|
|
|