From fe02ac5770075f50c0813832f8d0cd57ae885417 Mon Sep 17 00:00:00 2001 From: "sebastian.zell" Date: Sat, 28 Dec 2024 09:54:41 +0000 Subject: [PATCH] Dateien nach "/" hochladen --- client_startup.sh | 255 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 255 insertions(+) create mode 100644 client_startup.sh diff --git a/client_startup.sh b/client_startup.sh new file mode 100644 index 0000000..6ef4150 --- /dev/null +++ b/client_startup.sh @@ -0,0 +1,255 @@ +#!/bin/bash + +# Überprüfen, ob das Skript als Root ausgeführt wird +if [ "$(id -u)" -ne 0 ]; then + echo "Dieses Skript muss als Root ausgeführt werden!" >&2 + exit 1 +fi + +# Systemaktualisierung +apt-get update +apt-get upgrade +apt-get dist-upgrade + + + +# Prüfen, ob 'software-properties-common' installiert ist (notwendig für add-apt-repository) +if ! dpkg -l | gr "$PROGRESS_FILE" + # Wenn keine Fortschrittsdatei existiert, starten wir bei Schritt 1 + STEP=1 +fi + +# Schritt 1: Domänenbeitritt +if [ "$STEP" -eq 1 ]; then + # PPA hinzufügen und notwendige Pakete installieren + add-apt-repository ppa:univention-dev/ppa + apt-get update + DEBIAN_FRONTEND=noninteractive apt-get install univention-domain-join + + echo "Bitte treten Sie nun mit der Desktop-Anwendung der Domäne bei" + + # Pause, bis der Benutzer eine Taste drückt + read -p "Drücken Sie Enter, um fortzufahren..." + echo "2" > "$PROGRESS_FILE" + reboot +fi + +# Schritt 2: LDAP-Gruppe für Sudo-Rechte und SSH-Zugriff konfigurieren +if [ "$STEP" -eq 2 ]; then + # LDAP-Gruppen anzeigen + echo "Alle LDAP-Gruppen:" + getent group + + # LDAP-Gruppe für Sudo-Rechte hinzufügen (Ändere 'Administrators' auf die gewünschte Gruppe) + GRUPPE="Administrators" + echo "Füge Gruppe $GRUPPE zu Sudo-Rechten hinzu..." + + # Sicherstellen, dass die Gruppe existiert + if ! getent group $GRUPPE > /dev/null; then + echo "Die Gruppe '$GRUPPE' existiert nicht. Bitte sicherstellen, dass die Gruppe korrekt ist." + exit 1 + fi + + # Benutzer zur Sudo-Gruppe hinzufügen + usermod -aG sudo $GRUPPE + + # Überprüfen, ob der SSH-Daemon installiert ist + if ! dpkg -l | grep -q openssh-server; then + echo "OpenSSH-Server ist nicht installiert. Installiere es jetzt..." + apt update && apt install -y openssh-server + fi + + # SSH-Zugriff für diese Gruppe aktivieren + echo "SSH-Zugriff für Gruppe $GRUPPE erlauben..." + echo "AllowGroups $GRUPPE" >> /etc/ssh/sshd_config + + # SSH-Dienst neu starten + systemctl restart ssh + + # Root-Rechte der Gruppe zuweisen (sudo erlauben) + echo "Root-Rechte für Gruppe $GRUPPE (über Sudo) zuweisen..." + echo "%$GRUPPE ALL=(ALL:ALL) ALL" >> /etc/sudoers + + # Änderungen anwenden + echo "Skript abgeschlossen. Bitte testen Sie die Änderungen." + + # Fortschritt speichern + echo "3" > "$PROGRESS_FILE" +fi + +# Schritt 3: Snap-Pakete installieren +if [ "$STEP" -eq 3 ]; then + # Liste der zu installierenden Snap-Pakete + SNAP_PACKAGES=( + "vlc" + "spotify" + "termius-app" + "thunderbird" + "remmina" + "okular" + "libreoffice" + "gimp" + "nextcloud-desktop-client" + "gnucash-jz" + "bitwarden" + "whatsapp-linux-app" + "notes" + "chatgpt-desktop" + + ) + + # Snap-Pakete installieren + for SNAP in "${SNAP_PACKAGES[@]}"; do + echo "Installiere $SNAP..." + snap install "$SNAP" --classic + done + + # Snap-Verbindungen konfigurieren (z.B. Remmina) + snap connect remmina:audio-record :audio-record + snap connect remmina:avahi-observe :avahi-observe + snap connect remmina:cups-control :cups-control + snap connect remmina:mount-observe :mount-observe + snap connect remmina:password-manager-service :password-manager-service + snap connect remmina:ssh-keys :ssh-keys + snap connect remmina:ssh-public-keys :ssh-public-keys + + # Fortschritt speichern + echo "4" > "$PROGRESS_FILE" +fi + +# Schritt 4: Repository hinzufügen und installieren +if [ "$STEP" -eq 4 ]; then + # URL der Paketquelle + REPO_URL="deb http://www.ecodms.de/ecodms_240164/noble /" + + # Datei, in der die Quelle hinzugefügt wird + SOURCES_LIST_FILE="/etc/apt/sources.list.d/ecodms.list" + + # Füge die Quelle hinzu + echo "$REPO_URL" | tee "$SOURCES_LIST_FILE" > /dev/null + + # GPG-Schlüssel hinzufügen + wget -qO /etc/apt/trusted.gpg.d/ecodms.asc http://www.ecodms.de/gpg/ecodms.key || { echo "Download des GPG-Schlüssels fehlgeschlagen"; exit 1; } + + # Paketquellen aktualisieren und Pakete installieren + apt update + apt upgrade -y + apt-get install -y ecodmsclient + apt-get install -y ecodmsprinter + systemctl daemon-reload + + # Automatisch fehlende Abhängigkeiten installieren + apt-get install -f -y + + # Unnötige Pakete entfernen + apt-get autoremove -y + + # Fortschritt speichern + echo "5" > "$PROGRESS_FILE" + + echo "Installation abgeschlossen!" +fi + +# Schritt 5: Software installieren +if [ "$STEP" -eq 5 ]; then + mkdir /mnt/software + echo "Passwort: Et48^nSGRh6644" + sshfs root@192.168.176.6:/mnt/synology/software/ubuntu_client /mnt/software + cp /mnt/software/* /home/sebastian/Downloads + umount /mnt/software + rmdir /mnt/software + cd /home/sebastian/Downloads/ + + dpkg -i rustdesk-1.3.5-x86_64.deb + apt-get install -f -y + dpkg -i BricsCAD-V24.2.07-1-de_DE-amd64.deb + apt-get install -f -y + dpkg -i Installer_Fakturama_linux_x64_2.2.0-BETA.deb + apt-get install -f -y + dpkg -i shadow-amd64.deb + apt-get install -f -y + sudo dpkg -i nomachine_8.14.2_1_amd64.deb + apt-get install -f -y + sudo apt install wine + dpkg --add-architecture i386 && apt-get update && apt-get install wine32:i386 + + + # Unnötige Pakete entfernen + apt-get autoremove -y + + +mkdir -p /var/bricsys +mkdir -p /var/tmp +chmod -R 777 /var/bricsys +chmod -R 777 /var/tmp + + + + # Fortschritt speichern + echo "6" > "$PROGRESS_FILE" + +fi + +# Schritt 6: Wireguard client +if [ "$STEP" -eq 6 ]; then + cd /home/sebastian/Downloads/ + wget https://github.com/UnnoTed/wireguird/releases/download/v1.0.0/wireguird_amd64.deb + sudo dpkg -i ./wireguird_amd64.deb + apt-get install -f -y + # Fortschritt speichern + echo "7" > "$PROGRESS_FILE" +fi + +# Schritt 7: NFS +if [ "$STEP" -eq 7 ]; then + +sudo apt install autofs -y +echo "/net /etc/auto.net --timeout=600" | sudo tee -a /etc/auto.master +systemctl restart autofs +systemctl enable autofs + + +~/symlink_manager.sh + + + # Fortschritt speichern + echo "8" > "$PROGRESS_FILE" +fi + +# Schritt 8: offene arbeiten +if [ "$STEP" -eq 8 ]; then + + + echo "- Drucuker installieren" + echo "- Bricscad installieren mit dem lizenzserver.zell-cloud.de" + echo "- Wireguard conf importieren" + echo "- SQL Server konfigurieren für Fakturama" + echo "- SQL Server konfigurieren für Gnu-Cash" + + + # Fortschritt speichern + echo "9" > "$PROGRESS_FILE" +fi + + + + + echo "Installation abgeschlossen!" + + +