#!/bin/bash set -e # Standardwerte setzen, falls beim Containerstart keine Variablen übergeben wurden LDAP_URI=${LDAP_URI:-"ldap://10.0.2.123:389"} LDAP_BASE_DN=${LDAP_BASE_DN:-"dc=pi-farm,dc=de"} LDAP_BIND_DN=${LDAP_BIND_DN:-"cn=admin,dc=pi-farm,dc=de"} LDAP_SUDO_GROUP=${LDAP_SUDO_GROUP:-"sudo_users"} # LDAP_BIND_PASSWORD muss übergeben werden! echo ">>> Erstelle SSSD Konfiguration..." cat < /etc/sssd/sssd.conf [sssd] config_file_version = 2 services = nss, pam, sudo domains = LDAP [domain/LDAP] id_provider = ldap auth_provider = ldap sudo_provider = ldap chpass_provider = ldap ldap_uri = ${LDAP_URI} ldap_search_base = ${LDAP_BASE_DN} ldap_sudo_search_base = ou=SUDOers,${LDAP_BASE_DN} ldap_default_bind_dn = ${LDAP_BIND_DN} ldap_default_authtok = ${LDAP_BIND_PASSWORD} ldap_schema = rfc2307bis ldap_group_member = uniqueMember ldap_id_use_start_tls = false ldap_tls_reqcert = never ldap_auth_disable_tls_never_use_in_production = true cache_credentials = true enumerate = false EOF # Rechte zwingend auf 600, sonst startet SSSD nicht chmod 600 /etc/sssd/sssd.conf chown root:root /etc/sssd/sssd.conf echo ">>> Erstelle Sudoers-Regel für Gruppe: ${LDAP_SUDO_GROUP}..." echo "%${LDAP_SUDO_GROUP} ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/ldap-admins chmod 0440 /etc/sudoers.d/ldap-admins echo ">>> Leere alten SSSD Cache..." rm -f /var/lib/sss/db/* rm -f /var/lib/sss/mc/* echo ">>> Starte SSSD im Hintergrund..." # Wir starten SSSD als Hintergrunddienst (ohne interaktives Log-Spamming) sssd -D echo ">>> Starte XRDP..." # dbus starten (oft wichtig für xfce im Container) service dbus start # Startet den xrdp-sesman und anschließend xrdp im Vordergrund, # damit der Container nicht stirbt xrdp-sesman exec xrdp -n