scripte/benutzer_anlegen/delete_group.sh

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