beA Client Security

jadamherrick
New Contributor

Has anyone been able to script/package beA Client Security?  This is a requirement for our German offices, and would like to be able to streamline this if possible.

1 REPLY 1

SebStar
New Contributor

Ja - ist aber trotzdem Arbeit die 2 Komponenten gesondert zu aktualisieren. Allerdings weniger als bei zig Usern das Admin Kennwort einzugeben.

Ich fange mit meinem Rechnern an und date dort Basis und Anwender Komponente up. Dann kopiere ich den kompletten Inhalt von /Users/$CURRENT_USER/.BRAK in /Users/Shared/jamf/temp/bea_3_31_0_1 (3_31_0_1 ändere ich je nach Version - der Ordner /Users/Shared/jamf/ wird vom mir für solche Fälle genutzt und ist auf jedem Client vorhanden). Danach ziehe ich mit Composer 2 pkgs, ein mal von /Users/Shared/jamf/temp/bea_3_31_0_1 und ein mal von /Applications/beA Client Security. Die 2 pkg kommen in JAMF in eine Richtlinie. Dazu habe ich ein bash was vorher und eins was nachher durchrennt erstellt. Ich poste hier mal nur die Funktionen der bash:

Pre:

# beA schließen
close_bea() {
if pgrep -f "beA" > /dev/null; then
log_message "beA läuft. Beende den Prozess..."
sudo -u "$CURRENT_USER" pkill -9 -f "beA"
if [ $? -eq 0 ]; then
log_message "beA erfolgreich beendet."
else
log_message "Fehler beim Beenden von beA."
return 1
fi
else
log_message "beA läuft nicht. Keine Aktion erforderlich."
fi
}

# beA in User Folder löschen
remove_bea_user() {
local user_folder="/Users/$CURRENT_USER/.BRAK"

if [ -d "$user_folder" ]; then
log_message "Lösche Inhalte von $user_folder..."
rm -rf "$user_folder"/* "$user_folder"/.* 2>/dev/null
log_message "Inhalte von $user_folder erfolgreich gelöscht."
else
log_message "Ordner $user_folder existiert nicht, keine Aktion erforderlich."
fi
}

# beA in Programme löschen
remove_bea_prog() {
local bea_program_folder="/Applications/beA Client Security"

if [ -d "$bea_program_folder" ]; then
log_message "Lösche beA Client Security aus Programme..."
rm -rf "$bea_program_folder"
if [ ! -d "$bea_program_folder" ]; then
log_message "beA Client Security erfolgreich gelöscht."
else
log_message "Fehler beim Löschen von beA Client Security."
return 1
fi
else
log_message "Ordner $bea_program_folder existiert nicht, keine Aktion erforderlich."
fi
}

 

und Post:

move_bea() {
local source_folder="/Users/Shared/jamf/temp/bea_3_31_0_1"
local target_folder="/Users/$CURRENT_USER/.BRAK"

if [ -d "$source_folder" ]; then
log_message "Kopiere beA-Dateien von $source_folder nach $target_folder..."
mkdir -p "$target_folder"
cp -R "$source_folder/"* "$target_folder/"

if [ $? -eq 0 ]; then
log_message "beA-Dateien erfolgreich verschoben."
else
log_message "Fehler beim Kopieren der beA-Dateien."
return 1
fi
else
log_message "Quellordner $source_folder existiert nicht, keine Aktion erforderlich."
fi
}

# Temporären beA-Ordner löschen
clear_temp() {
local source_folder="/Users/Shared/jamf/temp/bea_3_31_0_1"

if [ -d "$source_folder" ]; then
log_message "Lösche temporären Ordner $source_folder..."
rm -rf "$source_folder"

if [ ! -d "$source_folder" ]; then
log_message "Temporärer Ordner erfolgreich gelöscht."
else
log_message "Fehler beim Löschen des temporären Ordners."
return 1
fi
else
log_message "Temporärer Ordner $source_folder existiert nicht, keine Aktion erforderlich."
fi
}

# Berechtigungen für beA Client Security reparieren
fix_bea_permissions() {
local brak_folder="/Users/$CURRENT_USER/.BRAK"

if [ -d "$brak_folder" ]; then
log_message "Setze Berechtigungen für $brak_folder..."
sudo chown -R "$CURRENT_USER" "$brak_folder"
sudo chmod -R 755 "$brak_folder"

if [ $? -eq 0 ]; then
log_message "Berechtigungen erfolgreich repariert."
else
log_message "Fehler beim Setzen der Berechtigungen."
return 1
fi
else
log_message "Ordner $brak_folder existiert nicht, keine Aktion erforderlich."
fi
}

# beA nach Update öffnen
open_bea() {
local bea_app="/Applications/beA Client Security/beAClientSecurity.app"

if [ -d "$bea_app" ]; then
log_message "Starte beA Client Security..."
open "$bea_app"

if [ $? -eq 0 ]; then
log_message "beA Client Security erfolgreich gestartet."
else
log_message "Fehler beim Starten von beA Client Security."
return 1
fi

 

Die Methode ist mit Sicherheit nicht perfekt, erfordert Anpassungen nach Updates usw. es geht so für uns aber trotzdem schneller als das Kennwort per Hand überall einzugeben. Das nicht einfach pkg files für admins bereitgestellt werden finde ich ein Unding aber das ist beA an sich ja schon seit dem Start...
Liebe Grüße Sebastian 
log_message "beA Client Security wurde nicht gefunden. Start nicht möglich."
fi
}