83 lines
2.4 KiB
Bash
83 lines
2.4 KiB
Bash
#!/bin/bash
|
|
|
|
# Fortschrittsdatei definieren
|
|
PROGRESS_FILE="/tmp/progress_file"
|
|
|
|
# Sicherstellen, dass das Skript als Root ausgeführt wird
|
|
if [ "$EUID" -ne 0 ]; then
|
|
echo "Bitte führen Sie dieses Skript als Root aus."
|
|
exit 1
|
|
fi
|
|
|
|
# Prüfen, ob 'software-properties-common' installiert ist
|
|
if ! dpkg -l | grep -q software-properties-common; then
|
|
echo "Installiere 'software-properties-common'..."
|
|
apt-get update
|
|
apt-get install -y software-properties-common
|
|
fi
|
|
|
|
# PPA hinzufügen und notwendige Pakete installieren
|
|
echo "Füge PPA hinzu und installiere notwendige Pakete..."
|
|
add-apt-repository -y ppa:univention-dev/ppa
|
|
apt-get update
|
|
DEBIAN_FRONTEND=noninteractive apt-get install -y 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"
|
|
|
|
# LDAP-Gruppen anzeigen
|
|
echo "Alle LDAP-Gruppen:"
|
|
getent group
|
|
|
|
# LDAP-Gruppe für Sudo-Rechte definieren und hinzufügen
|
|
GRUPPE="Administrators"
|
|
echo "Füge Gruppe '$GRUPPE' zu Sudo-Rechten hinzu..."
|
|
|
|
# Benutzer zur Sudo-Gruppe hinzufügen (falls erforderlich)
|
|
if getent group "$GRUPPE" > /dev/null; then
|
|
usermod -aG sudo "$GRUPPE"
|
|
else
|
|
echo "Gruppe '$GRUPPE' existiert nicht. Bitte überprüfen Sie die LDAP-Konfiguration."
|
|
exit 1
|
|
fi
|
|
|
|
# Ü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-get update
|
|
apt-get install -y openssh-server
|
|
fi
|
|
|
|
# SSH-Zugriff für diese Gruppe aktivieren
|
|
echo "SSH-Zugriff für Gruppe '$GRUPPE' erlauben..."
|
|
if ! grep -q "^AllowGroups" /etc/ssh/sshd_config; then
|
|
echo "AllowGroups $GRUPPE" >> /etc/ssh/sshd_config
|
|
else
|
|
sed -i "s/^AllowGroups.*/& $GRUPPE/" /etc/ssh/sshd_config
|
|
fi
|
|
|
|
# SSH-Dienst neu starten
|
|
systemctl restart ssh
|
|
|
|
# Root-Rechte der Gruppe zuweisen
|
|
echo "Root-Rechte für Gruppe '$GRUPPE' (über Sudo) zuweisen..."
|
|
if ! grep -q "^%$GRUPPE ALL=(ALL:ALL) ALL" /etc/sudoers; then
|
|
echo "%$GRUPPE ALL=(ALL:ALL) ALL" >> /etc/sudoers
|
|
else
|
|
echo "Eintrag für Gruppe '$GRUPPE' existiert bereits in /etc/sudoers."
|
|
fi
|
|
|
|
# Änderungen anwenden
|
|
echo "Skript abgeschlossen. Bitte testen Sie die Änderungen."
|
|
|
|
# Neustart des Systems
|
|
read -p "System jetzt neu starten? (y/n): " REBOOT
|
|
if [[ "$REBOOT" =~ ^[Yy]$ ]]; then
|
|
reboot
|
|
else
|
|
echo "Bitte starten Sie das System später manuell neu."
|
|
fi
|