#!/bin/bash source ./data_utils.sh add_user_to_group() { initialize_user_list # Benutzerliste abrufen (nur aktive Benutzer) users=$(read_users | grep ":aktiv$" | awk -F':' '{print $1 " " $1}') if [[ -z "$users" ]]; then dialog --msgbox "Keine aktiven Benutzer verfügbar." 10 30 return fi # Benutzer grafisch auswählen username=$(dialog --menu "Benutzer auswählen:" 20 50 10 $users 3>&1 1>&2 2>&3) if [[ -z "$username" ]]; then dialog --msgbox "Kein Benutzer ausgewählt." 10 30 return fi # Gruppenliste abrufen (nur aktive Gruppen) groups=$(read_groups | grep ":aktiv$" | awk -F':' '{print $1 " " $1}') if [[ -z "$groups" ]]; then dialog --msgbox "Keine aktiven Gruppen verfügbar." 10 30 return fi # Gruppe grafisch auswählen groupname=$(dialog --menu "Gruppe auswählen, zu der $username hinzugefügt werden soll:" 20 50 10 $groups 3>&1 1>&2 2>&3) if [[ -z "$groupname" ]]; then dialog --msgbox "Keine Gruppe ausgewählt." 10 30 return fi # Benutzer zur Gruppe hinzufügen existing_user=$(grep "^$username:" <(read_users)) current_groups=$(echo "$existing_user" | cut -d':' -f4) # Überprüfen, ob Benutzer bereits in der Gruppe ist if [[ "$current_groups" == *"$groupname"* ]]; then dialog --msgbox "Benutzer $username ist bereits in der Gruppe $groupname." 10 30 return fi # GID der Gruppe abrufen group_entry=$(grep "^$groupname:" <(read_groups)) group_gid=$(echo "$group_entry" | cut -d':' -f2) # Aktualisieren der Gruppenzugehörigkeit updated_groups="${current_groups},${groupname}" sed -i "s|^$username:.*|$username:$(echo "$existing_user" | cut -d':' -f2-3):$updated_groups:aktiv|" "$USER_LIST" dialog --msgbox "Benutzer $username wurde erfolgreich zur Gruppe $groupname hinzugefügt." 10 30 } add_user_to_group