scripte/ldap_ubuntu

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