From a54b7f73548a1ee461a43cfd8920cdf673ff46d0 Mon Sep 17 00:00:00 2001 From: "sebastian.zell" Date: Mon, 30 Dec 2024 01:44:10 +0000 Subject: [PATCH] =?UTF-8?q?remote=5Fapply=5Fchanges.sh=20gel=C3=B6scht?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- remote_apply_changes.sh | 77 ----------------------------------------- 1 file changed, 77 deletions(-) delete mode 100644 remote_apply_changes.sh diff --git a/remote_apply_changes.sh b/remote_apply_changes.sh deleted file mode 100644 index a3b9633..0000000 --- a/remote_apply_changes.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/bash - -set -euo pipefail - -USER_LIST="/tmp/encrypted_users.list" -DECRYPTION_KEY="IhrGeheimerSchlüssel" - -# Funktion: Datei prüfen -check_user_list_file() { - if [[ ! -f "$USER_LIST" ]]; then - echo "Benutzerliste $USER_LIST existiert nicht. Abbruch." - exit 1 - fi -} - -apply_group_changes() { - echo "Beginne Gruppenänderungen..." - while read -r group_entry; do - group_name=$(echo "$group_entry" | cut -d: -f1) - group_gid=$(echo "$group_entry" | cut -d: -f2) - group_status=$(echo "$group_entry" | cut -d: -f3) - - if [[ "$group_status" == "aktiv" ]]; then - if ! getent group "$group_name" &>/dev/null; then - echo "Erstelle Gruppe: $group_name mit GID $group_gid" - groupadd --gid "$group_gid" "$group_name" - fi - elif [[ "$group_status" == "geloescht" ]]; then - if getent group "$group_name" &>/dev/null; then - echo "Lösche Gruppe: $group_name" - groupdel "$group_name" - fi - fi - done < <(awk '/^\[groups\]/ {skip=1; next} skip {print}' "$USER_LIST") -} - -apply_user_changes() { - echo "Beginne Benutzeränderungen..." - while read -r user_entry; do - username=$(echo "$user_entry" | cut -d: -f1) - uid=$(echo "$user_entry" | cut -d: -f2) - password=$(echo "$user_entry" | cut -d: -f3) - groups=$(echo "$user_entry" | cut -d: -f4) - status=$(echo "$user_entry" | cut -d: -f5) - - if [[ "$status" == "aktiv" ]]; then - primary_group="fileserver" - additional_groups=$(echo "$groups" | tr ',' '\n' | grep -v "$primary_group" | tr '\n' ',' | sed 's/,$//') - - if ! id "$username" &>/dev/null; then - echo "Erstelle Benutzer: $username" - useradd --uid "$uid" --gid "$primary_group" --groups "$additional_groups" "$username" - - # Passwort setzen mit chpasswd - echo "$username:$(echo "$password" | openssl enc -d -aes-256-cbc -base64 -pass pass:"$DECRYPTION_KEY")" | chpasswd - else - echo "Benutzer $username existiert bereits. Aktualisiere Gruppen und Passwort..." - usermod -g "$primary_group" -G "$additional_groups" "$username" - - # Passwort aktualisieren - echo "$username:$(echo "$password" | openssl enc -d -aes-256-cbc -base64 -pass pass:"$DECRYPTION_KEY")" | chpasswd - fi - elif [[ "$status" == "geloescht" ]]; then - if id "$username" &>/dev/null; then - echo "Lösche Benutzer: $username" - userdel -r "$username" - fi - fi - done < <(awk '/^\[users\]/ {skip=1; next} skip {print}' "$USER_LIST") -} - -echo "Beginne Änderungen auf dem Server..." -check_user_list_file -apply_group_changes -apply_user_changes -echo "Änderungen abgeschlossen." -